0
比方說,我想要寫一個模塊,它的JavaScript等價的打字稿定義如下:打字稿:聲明是一個函數變量名爲「新」
var service = {};
service.new = function (name, options) {
console.log('Ive been called!');
};
module.exports = service;
我應如何申報呢?我找不到在服務上聲明這個屬性爲new的方法,因爲new是一個保留關鍵字,但這個JavaScript代碼仍然可以工作,並且應該可以在.d.ts文件中定義。
我最後的失敗嘗試是
export = ModuleName;
export as namespace ModuleName;
declare var instance: ModuleName.StaticInstance;
declare namespace ModuleName {
interface StaticInstance {
new(name: string, options: ModuleName.Options): NewService;
}
interface NewService {
someMethod()...
}
interface Options {
option1: number;
...
}
}
任何提示?
名稱'!=='標識符,保留關鍵字只對標識符,而不是屬性名稱進行限制 – Dummy
我得到的這個嘗試的錯誤是屬性「new」在StaticInstance上不存在。 – rels