es6 class以及類的繼承

2021-09-14 07:55:56 字數 805 閱讀 5080

class miaov

print()

}let mm=new miaov(1,2);

mm.print(); //2

同時值得注意的是typeof miaov 會返回function 所以class 只是乙個語法糖

miaov中的constructor方法是構造方法 this關鍵字代表的是例項物件 定義在class中的方法都是相當於定義在miaov.prototype上邊

與es5不同的是 es5中的建構函式可以直接呼叫 但是如果通過es6中的class宣告的類不能直接呼叫

在class中定義的方法都需要return this 這樣才可以進行鏈式呼叫

乙個類必須有constructor 沒有的話 class會使用乙個空的建構函式(這個建構函式什麼都不會做)

定義在類中的方法都是不可以被列舉的

在子類中的建構函式中必須先通過 super呼叫父類中的建構函式。值得注意的是與es5完全不同的是不能通過父類.call(this,引數)來實現 因為子類在沒有呼叫父類的constructor之前例項是沒有this的。

所以如果在子類的建構函式中需要使用this 必須先使用super() 來生成例項以後再使用this

super這個關鍵字不能在子類的其他方法中呼叫 除了子類的建構函式

當出現在其他非構造方法中的時候  指的是父類的原型物件  不能當做函式呼叫
子類會繼承父類多有的方法(包括靜態)

static 方法 就將這個方法指定為靜態方法

es6 class靜態方法以及繼承

寫法 通過使用class關鍵字,定義乙個類 定義 類 的方法的時候,前面不需要加上function這個關鍵字,直接把函式定義放進去了就可以了。另外,方法之間不需要逗號分隔,加了會報錯。class內的方法必須通過new關鍵字之後才能呼叫,若直接呼叫則會報錯。使用new關鍵字後,和es5建構函式相同 c...

ES6 class類的建立與繼承

1 region es5和es6類物件的宣告對比2 es5類物件的寫法是3 function phone brand,price 7 給phone新增乙個方法 callmethod 8 phone.prototype.callmethod function 1112 例項化物件並呼叫方法 13 le...

ES6 Class語法介紹

參考文章 ecmascript 6 入門 概述 基本上,es6 的class可以看作只是乙個語法糖,它的絕大部分功 能,es5 都可以做到,新的class寫法只是讓物件原型的寫法更加清晰 更像物件導向程式設計的語法而已。舉個栗子 es5 function point x,y point.protot...