這次帶給大家的是ES6 javascript中類別的靜態方法,屬性與實例屬性怎麼使用,這篇文章就給大家好好分析一下。
類別相當於實例的原型, 所有在類別中定義的方法, 都會被實例繼承。 如果在一個方法前, 加上static關鍵字, 就表示該方法不會被實例繼承, 而是直接透過類別來調用, 這就稱為「 靜態方法」。
class Foo { static classMethod() { return 'hello'; } } Foo.classMethod() // 'hello' var foo = new Foo(); foo.classMethod() // TypeError: foo.classMethod is not a function
上面程式碼中, Foo類別的classMethod方法前面有static關鍵字, 表示方法是靜態方法,可以直接在Foo類別上呼叫( Foo.classMethod()), 而不是在Foo類別的實例上呼叫。 如果在實例上呼叫靜態方法, 會拋出一個錯誤, 表示不存在該方法。
父類別的靜態方法, 可以被子類別繼承。
class Foo { static classMethod() { return 'hello'; } } class Bar extends Foo {} Bar.classMethod(); // 'hello'
上面程式碼中, 父類別Foo有一個靜態方法, 子類別Bar可以呼叫這個方法。
靜態方法也是可以從super物件上呼叫的。
class Foo { static classMethod() { return 'hello'; } } class Bar extends Foo { static classMethod() { return super.classMethod() + ', too'; } } Bar.classMethod();
相信看了以上介紹你已經掌握了方法,更多精彩請關注php中文網其它相關文章!
相關閱讀:
#以上是ES6 javascript中類別的靜態方法,屬性與實例屬性怎麼使用的詳細內容。更多資訊請關注PHP中文網其他相關文章!