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()例項化得到的 複製程式碼