【JS】静态属性和方法
静态方法和属性:
1.静态方法:
将一个方法作为整体赋值给类,该方法作为类的方法使用,而不是某个实例的方法使用,使用static关键字修饰。
class MyClass {
static staticMethod() {
console.log(this === MyClass); //true, this 就是类构造器MyClass自身
}
}
// 类似于:
// class MyClass {}
// MyClass.staticMethod = function () {
// console.log(this === MyClass);
// }
MyClass.staticMethod()
// 不能作为实例的方法
let c = new MyClass()
c.staticMethod() // Uncaught TypeError: c.staticMethod is not a function
2.静态属性
在常规的类属性前加上static关键字就是静态属性
同样的只作为类自己的属性使用
class MyClass {
static staticProp = 'MyClass'
}
// 类似于:
// class MyClass {}
// MyClass.staticProp = 'MyClass'
console.log(MyClass.staticProp); // 'MyClass'
let a = new MyClass()
console.log(a.staticProp); // undefined
3.继承静态属性和方法
extends使得 Child.prototype == Parent
所以子类可以访问父类的静态方法和属性
class Parent {
static staticProp = 'parent static prop'
static test(){
console.log('static parent method');
}
}
class Child extends Parent{}
console.log(Child.staticProp); // 'parent static prop'
Child.test() // 'static parent method'
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!