Class 的基本語法

1. constructor方法函數

  constructor方法是類的默認方法,經過new命令生成對象實例時,自動調用該方法。一個類必須有constructor方法,若是沒有顯式定義,一個空的constructor方法會被默認添加this

  class Point {
    constructor() {
      this.hb = 'xhk';
      this.wf = 'coco';
    }
  }code

  var p = new Point();對象

  p.hs  // 'xhk'繼承

  p.wf  // 'coco'get

  constructor方法默認返回實例對象(即this),徹底能夠指定返回另一個對象。原型

2. class表達式class

  const MyClass = class Me {
    getClassName() {
      return Me.name
    }
  }變量

  這個class的類名是MyClass ,不是Me, Me只能在class內部使用,指代當前類。構造函數

  採用 Class 表達式,能夠寫出當即執行的 Class。

3. 不存在變量提高

4. 私有屬性私有方法 使用符號#

5. this指向

  類的方法內部若是含有this,它默認指向類的實例。

6. class的繼承

7. Object.getPrototypeOf(子類)  // 能夠用來從子類上獲取父類, 使用這個方法判斷,一個類是否繼承了另外一個類。 

8. super關鍵字

  super這個關鍵字,既能夠看成函數使用,也能夠看成對象使用。

  第一種狀況,super做爲函數調用時,表明父類的構造函數。ES6 要求,子類的構造函數必須執行一次super函數。

    做爲函數時,super()只能用在子類的構造函數之中,用在其餘地方就會報錯。

  第二種狀況,super做爲對象時,在普通方法中,指向父類的原型對象;在靜態方法中,指向父類。

    因爲this指向子類,因此若是經過super對某個屬性賦值,這時super就是this,賦值的屬性會變成子類實例的屬性。

9. extends的繼承目標

  extends關鍵字後面能夠跟多種類型的值。

相關文章
相關標籤/搜索