首頁 > web前端 > 前端問答 > es6中有繼承嗎

es6中有繼承嗎

WBOY
發布: 2022-05-26 14:29:32
原創
1662 人瀏覽過

es6中有繼承。 es6中使用extends關鍵字就可以繼承任何擁有constructor和原型的對象,不僅可以繼承一個類,也可以繼承普通的建構子;constructor是類的建構函數,在透過new創造類的實例時會自動呼叫該方法。

es6中有繼承嗎

本教學操作環境:windows10系統、ECMAScript 6.0版本、Dell G3電腦。

es6中有繼承嗎

ECMAScript 6 新增特性中最出色的一個就是原生支援了類別繼承機制。雖然類別繼承機制使用的是新語法,但背後依舊使用的是原型鏈。

ES6 類別支援單繼承。使用 extends 關鍵字,就可以繼承任何擁有 [ [ constructor ] ] 和 原型的物件。很大程度上,這意味著不僅可以繼承一個類,也可以繼承普通的建構子。

在ES6中,我們有了語法糖,引入了class類別的概念,而在class中,有一個預設的屬性方法:constructor。方法是類別的建構函數,當我們透過new創造該類別的實例時,會自動呼叫該方法。

類別和原型上定義的方法都會帶到衍生類別。

class Vehicle {
//原型上的方法
identifyPrototype( id ){
console.log( id, this ); // this 实例
}
static identifyClass( id ){
console.log( id, this ); // this Vehicle 类
}
}
登入後複製

衍生類別的方法可以透過 super 關鍵字來引用它們的原型。這個關鍵字只能在衍生類別中使用,而且僅限於類別建構子、實例方法和靜態方法內部。在類別建構子中使用 super 可以呼叫父類別建構子。

extends關鍵字、super()

extends表示繼承父類,super()表示父類別建構函數,寫法繼續上面的寫:

es6中有繼承嗎

那麼這裡應該很清楚了,相較於ES5中麻煩的this指向以及constructor指向的改動,這裡直接使用extends和super()就能夠解決

【相關推薦:javascript影片教學web前端

以上是es6中有繼承嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
es6
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板