本文實例講述了ES6中Class類的靜態方法。分享給大家供大家參考,具體如下:
以前看過的es6的東西,又忘了,再總結下:
類相當于實例的原型,所有在類中定義的方法,都會被實例繼承。如果在一個方法前,加上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可以調用這個方法。
希望本文所述對大家基于ECMAScript的程序設計有所幫助。
新聞熱點
疑難解答