此法不能繼承原型屬性或方法,因此 b.pa 的值不存在。如果想繼承 A 的原型屬性或方法該怎麼辦呢?用typescript寫兩個類 A 和 B,並且 B extends A,然後用 tsc 將 typescript 檔案編譯成 javascript 檔案。開啟 js 檔案發現原型繼承是用__extends(B, A)
實現的。關鍵在於__extends()
函式
function A(x){
this.x = x;
}
A.prototype.pa = 'pa';
function B(x, y){
A.apply(this, arguments);
this.y = y;
}
B.prototype.pb = 'pb';
var b = new B(1, 2);
console.log(b.x, b.y, b.pa, b.pb); // 1 2 undefined "pb"
本作品採用《CC 協議》,轉載必須註明作者和本文連結