首先明确两个定义:
静态属性:通过构造函数直接访问到的属性。
实例属性:通过new出来的实例,访问到的属性。
在类中我们用static定义的就是静态属性,只能通过构造函数来进行调用,那么我们如果通过new出来的实例来进行调用我们的在类中通过static定义的属性会显示undefined
class Person{
constructor(name, age){
this.name = name;
this.age = age;
}
static info = "eee"
}
const person1 = new Person('学代码的小臻','23')
console.log(p1.info);//undefined
console.log(Person.info)//eee
在上段代码中,我们通过在class中定义了一个构造函数里面进行name和age的赋值,在构造函数之外我们通过static来进行info的属性的定义,在我们的
然后我们在外部通过new来定义了一个实例,在下面进行输出,因为p1时实例,而person是构造函数,所以在构造函数调用的info变量可以正常输出,在p1中会输出undefined