ES6之前并沒有給我們提供 extends 繼承。我們可以通過構造函數+原型對象模拟實作繼承,被稱為組合繼承
一般情況下,對象的方法都在構造函數的原型對象中設定,通過構造函數無法繼承父類方法。
核心原理:
① 将子類所共享的方法提取出來,讓子類的 prototype 原型對象 = new 父類()
② 本質:子類原型對象等于是執行個體化父類,因為父類執行個體化之後另外開辟空間,就不會影響原來父類原型對象
③ 将子類的 constructor 從新指向子類的構造函數
ES6之前并沒有給我們提供 extends 繼承。我們可以通過構造函數+原型對象模拟實作繼承,被稱為組合繼承
一般情況下,對象的方法都在構造函數的原型對象中設定,通過構造函數無法繼承父類方法。
核心原理:
① 将子類所共享的方法提取出來,讓子類的 prototype 原型對象 = new 父類()
② 本質:子類原型對象等于是執行個體化父類,因為父類執行個體化之後另外開辟空間,就不會影響原來父類原型對象
③ 将子類的 constructor 從新指向子類的構造函數