類就是例項的原型,以前我們一般會new一個test(),有在類中(test)定義的方法,都會被例項繼承。如果在一個方法前,加上static關鍵字,就表示該方法不會被例項繼承,而是直接通過類來呼叫,這就稱為“靜態方法”
class Father {
static testMethod() {
return 'hello';
}
}
Father.testMethod() // 'hello'
var Child = new Father();
Child.testMethod()
// TypeError: Child.testMethod is not a function
這是因為Father中的testMethod方法是靜態方法(有static關鍵字),不會被例項化出來的Child繼承,
當前testMethod方發可以直接在Father類上呼叫,如果在例項化出來的類上呼叫會丟擲一個錯誤,表示不存在該方法。
複製程式碼
父類的靜態方法,可以被子類繼承。
class Father {
static testMethod() {
return 'hello';
}
}
class Child extends Father {
}
Child.classMethod(); // 'hello'
上面程式碼中,父類Father有一個靜態方法,子類Child可以呼叫這個方法,因為這是通過extends繼承的,不是通過new()例項化得到的
複製程式碼
結語
前端react QQ群:
788023830
----React/Redux - 地下老英雄
前端交流 QQ群:
249620372
----FRONT-END-JS前端
(我們的宗旨是,為了加班,為了禿頂……,仰望大佬),希望小夥伴們加群一起學習