所以基本上
__extends(MyPageView, _super);
想想而言在面向對象的語言ofinheritance。凡一個類正在擴展一個超類或基類。
所以基本上這裏MyPageView
將擴展超類的功能和實現。
因此,讓我們說基地查看有method A() and method B()
和當前查看有方法C(),那麼你當前視圖有權訪問它的視圖中的所有三個方法A() , B() and C()
。
但可以說MyPageView
有method B()
,在其中定義,然後查看裏面的方法將採取precedence over the Method B() of Super View
var __extends = this.__extends || function (d, b) {
function __() { this.constructor = d; }
__.prototype = b.prototype;
d.prototype = new __();
};
每個函數都有一個神奇的原型屬性。
var __extends = this.__extends || function (d, b) {
檢測開關如果該功能是在這方面可用的,如果沒有定義一個函數,即需要兩個參數,即要擴展的對象,並從它的延伸物體..
function __() { this.constructor = d; }
定義一個新的函數調用__
其中上下文是構造屬性綁定到object d
__.prototype = b.prototype;
的Object __
的原型屬性指向b.prototype
鏈..
d.prototype = new __();
的Super View
發生在這裏,你在哪裏設置,這裏的對象的原型屬性方法的訪問..
所以當創建新實例時,如果方法不可用,則由於該對象上的prototype
,它將檢查Super view
中的方法,因爲它在功能__
上可用,該函數與object d
[Typescript和Google Closure]的副本(http://stackoverflow.com/questions/13635901/typescript-and-google-closure),但該問題足以解釋他們從哪裏獲得代碼。進一步討論[這裏](http://stackoverflow.com/questions/5529285/prototype-chaining-constructor-inheritance)。您可以閱讀JavaScript原型繼承以瞭解更多信息。 –