![](/img/trans.png)
[英]How to get a constructor function to inherit from a constructor function in Javascript?
[英]TypeScript: How to inherit from javascript constructor function?
如何從javascript中繼承構造函數 ?
例如,我有一個用本地js編寫的基類
var MyModule;
(function (MyModule) {
var MyBase = (function () {
function MyBase(container, $MyElement) {
this._container = container;
this._$MyElement = $MyElement;
}
MyBase.prototype.toString = function () {
return this._previewType;
};
MyBase.prototype.method1 = function(){
};
MyBase.prototype.method2 = function () {
return this._isPreviewAffected;
};
return MyBase;
})();
MyModule.MyBase = MyBase;
})(MyModule || (MyModule = {}));
我如何在打字稿中繼承它。 我試過以下代碼。 我收到錯誤“ 錯誤的引用:引用的文件:”my-base.js“無法解析 ”
/// <reference path="my-base.js" />
module MyModule {
export class MyConcrete extends MyBase {
}
}
您需要在typescript中聲明等同於javascript代碼的簽名。 這是為了讓TypeScript知道如果它是用TypeScript編寫的,你的JavaScript意味着什么:
declare module MyModule{
export class MyBase{
constructor(container, $MyElement);
toString();
method1():void;
method2():bool;
}
}
module MyModule {
export class MyConcrete extends MyBase {
}
}
另外/// <reference path="file" />
僅適用於Typescript文件。 對於Javascript文件,您可以使用一些腳本管理(例如<script>
標簽,requireJS等)來確保在MyConcrete之前MyBase可用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.