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
關鍵字後面能夠跟多種類型的值。