Skip to content

静态属性 ​

本节目标:理解“静态属性”的核心思路,并能把它用于实际开发或面试表达。 静态属性指的是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),而不是赋值处理,语义更好。

本站总访问 — 次