es6中新增了對類的支援,引入了class關鍵字
es6中提供的類實際上只是js原型模式的包裝。現在提供class支援後,物件的建立、繼承更加直觀。
class類中,可以包含 構造方法、例項方法、靜態方法。
//類的定義
class
a//例項方法
say(
)//靜態方法(靜態方法與例項方法 同名互不影響)
static
say()}
//直接呼叫靜態方法a.
say();
//例項化類 呼叫例項方法
var a =
newa
('tom');
a.say()
;//類也有原型物件
console.
log(
a.prototype)
;console.
log(a.__proto__)
注意:
1.class類中不能直接定義屬性,只能定義方法,方法之間不需要也不能使用逗號隔開
2.類只能先定義,再使用,沒有提公升效果。
3.靜態方法只能通過類名直接呼叫,例項方法只能將例項化成物件後呼叫。
注:父類有建構函式,子類建構函式中,需要呼叫super() 實現父類的建構函式,否則報錯。
//類的繼承
//父類a
class
a//例項方法
say(
)//靜態方法
static
say()}
//子類b
class
bextends
a//例項方法
//子類方法 會覆蓋父類同名方法
say(
)static
coding()
}//呼叫靜態方法b.
say();
//a的靜態方法b.
coding()
;//b自己的靜態方法
//呼叫例項方法
var b =
newb
('lucy');
b.say()
;//b中的例項方法say //如果b中沒有,才呼叫a的例項方法say
b.coding()
;//報錯,b和a中都沒有例項方法coding (只有靜態方法)
前端基礎 ECMAScript解構(拆包)
在es6中,可以使用解構從陣列和物件提取值並賦值給獨特的變數,即將陣列或物件中的值,拆成乙個乙個變數。解構 自動解析陣列或物件中的值,並賦值給指定的變數。將陣列中的值,取出並賦值給多個變數 var arr 3 4,5 var a,b,c arr console.log a,b,c 還可以忽略值 需要...
ECMAScript 基礎注意點
1.在 ecmascript 中,變數可以存在兩種型別的值,即原始值和引用值 原始值 儲存在棧 stack 中的簡單資料段,也就是說,它們的值直接儲存在變數訪問的位置。引用值 儲存在堆 heap 中的物件,也就是說,儲存在變數處的值是乙個指標 point 指向儲存物件的記憶體處 2.為變數賦值時,e...
ECMAScript基礎(關鍵字,保留字)
關鍵字 break,else,new,var,case,finally,return,void,catch,for,switch,while,continue,function,this,with,default,if,throw,delete,in,try,do,instanceof typeof...