Appearance
静态属性
本节目标:理解“静态属性”的核心思路,并能把它用于实际开发或面试表达。 静态属性指的是Class本身的属性,即Class.propName,而不是定义在实例对象(this)上的属性。
**定义方法**
一、直接指定
class Foo {}
Foo.prop = 1;Foo.prop // 1**二、提案写法**
在实例属性的前面使用static关键字。
class MyClass {
static myStaticProp = 42;
constructor() {
console.log(MyClass.myStaticProp); // 42
}
}**三、老旧写法比较**老写法的静态属性定义在类的外部。整个类生成以后,再生成静态属性。这样让人很容易忽略这个静态属性,也不符合相关代码应该放在一起的代码组织原则。
新写法是显式声明(declarative),而不是赋值处理,语义更好。