1、class 類
class是一種語(yǔ)法糖 類和模塊的內(nèi)部,,默認(rèn)就是嚴(yán)格模式 不存在變量提升 由于本質(zhì)上,,ES6 的類只是 ES5的構(gòu)造函數(shù)的一層包裝,所以函數(shù)的許多特性都被Class繼承,,包括name屬性,。
2、constructor 構(gòu)造函數(shù)
constructor 是一種用于創(chuàng)建和初始化class創(chuàng)建的對(duì)象的特殊方法,,
class Polygon {
constructor() {
this.name = 'Polygon';
}
}
const poly1 = new Polygon(); //new的時(shí)候會(huì)執(zhí)行constructor的內(nèi)容(初始化)
console.log(poly1.name);//'Polygon'
1
2
3
4
5
6
7
1
2
3
4
5
6
7
在一個(gè)構(gòu)造方法中可以使用super關(guān)鍵字來(lái)調(diào)用一個(gè)父類的構(gòu)造方法,。
如果沒(méi)有顯式指定構(gòu)造方法,則會(huì)添加默認(rèn)的 constructor 方法
如果不指定一個(gè)構(gòu)造函數(shù)(constructor)方法, 則使用一個(gè)默認(rèn)的構(gòu)造函數(shù)(constructor),。
原生構(gòu)造函數(shù):包含Number,String等, 這些原生構(gòu)造函數(shù)是無(wú)法繼承的
3,、super
super關(guān)鍵字用于訪問(wèn)和調(diào)用一個(gè)對(duì)象的父對(duì)象上的函數(shù)。
super.prop和super[expr]表達(dá)式在類和對(duì)象字面量任何方法定義中都是有效的,。
super指向父類的原型對(duì)象,,所以定義在父類實(shí)例上的方法或?qū)傩?,是無(wú)法通過(guò)super調(diào)用的。 //Error: super.username
|