首頁  >  文章  >  web前端  >  ES6中Class類別的靜態方法

ES6中Class類別的靜態方法

小云云
小云云原創
2018-01-19 16:42:581543瀏覽

本文主要介紹了ES6中Class類的靜態方法,結合實例形式簡單總結分析了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可以呼叫這個方法。

相關推薦:

ES6中class關鍵字詳解

ES6 Class 中的super 關鍵字詳解

#ES6 javascript中class類別的get與set用法實例

以上是ES6中Class類別的靜態方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn