天天看點

js中es6之前的繼承

ES6之前并沒有給我們提供 extends 繼承。我們可以通過構造函數+原型對象模拟實作繼承,被稱為組合繼承

一般情況下,對象的方法都在構造函數的原型對象中設定,通過構造函數無法繼承父類方法。

核心原理:

① 将子類所共享的方法提取出來,讓子類的 prototype 原型對象 = new 父類()

② 本質:子類原型對象等于是執行個體化父類,因為父類執行個體化之後另外開辟空間,就不會影響原來父類原型對象

③ 将子類的 constructor 從新指向子類的構造函數

繼續閱讀