JavaScript 静态方法
示例
静态方法和属性是在类/构造函数本身上定义的,而不是在实例对象上定义的。这些通过使用static关键字在类定义中指定。
class MyClass { static myStaticMethod() { return 'Hello'; } static get myStaticProperty() { return 'Goodbye'; } } console.log(MyClass.myStaticMethod()); // logs: "Hello" console.log(MyClass.myStaticProperty); // logs: "Goodbye"
我们可以看到在对象实例上未定义静态属性:
const myClassInstance = new MyClass(); console.log(myClassInstance.myStaticProperty); //日志:未定义
但是,它们是在子类上定义的:
class MySubClass extends MyClass {}; console.log(MySubClass.myStaticMethod()); // logs: "Hello" console.log(MySubClass.myStaticProperty); // logs: "Goodbye"