ES6中類的靜態方法=> static 的使用

類就是實例的原型,之前咱們通常會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前端

(咱們的宗旨是,爲了加班,爲了禿頂……,仰望大佬),但願小夥伴們加羣一塊兒學習前端

相關文章
相關標籤/搜索