es6中的類以及用類實現繼承

2021-10-11 09:31:44 字數 638 閱讀 3408

es6提供了更接近傳統語言的寫法,引入了class(類)的概念,作為物件的模板。通過class關鍵字,可以定義類。

基本上,es6的class可以看做只是乙個語法糖,他的絕大部分功能,es5都可以做到,新的class寫法只是讓物件原型的寫法更加清晰、更像物件導向程式設計的寫法而已。

說了這麼多,那麼怎麼定義乙個類呢?

class people

//定義方法

study()

eat()

}

這樣乙個類就定義好了,下面我們對他進行例項化

let peo = new people('張三','男');

console.log(peo);

//列印結果為people

怎麼呼叫類中的方法呢

直接通過peo.方法名就可以了

怎麼實現類的繼承呢

class可以通過extends關鍵字完成繼承,這比es5的通過修改原型鏈實現繼承,要清晰和方便很多。

class childen extends people

let child = new childen('小王','女');

//列印的結果為childen

ES6中class類繼承的實現

大多數瀏覽器的 es5 實現之中,每乙個物件都有 proto 屬性,指向對應的建構函式的prototype屬性。class 作為建構函式的語法糖,同時有prototype屬性和 proto 屬性,因此同時存在兩條繼承鏈。1 子類的 proto 屬性,表示建構函式的繼承,總是指向父類。2 子類prot...

es6 類的繼承

function animal name animal.prototype.drink function animal.prototype.eat function item function dog name,breed animal.prototype dog.prototype animal....

ES6 類的繼承

類的繼承 super 關鍵字 子類通過 extends 關鍵字來繼承父類的所有屬性和方法 子類必須在constructor中呼叫super方法,否則新建例項會報錯 es5的繼承中,實質是先創造子類的例項物件this,然後再將父類的方法 屬性新增到this上面。es6的繼承中,實質是先創造父類的例項物...