我使用的是具有這樣一個類都宣稱像這樣功能的d.ts定義第三方API:是否可以在基類中有函數,但在子類中有lambda函數?
export class Bar {
foo(): void;
}
現在
當我創建一個子類我想用lambda表達式語法的實現
export class Test1 extends Bar {
public foo =(): void => {
//DO Stuff
}
}
這並不編譯,因爲
「類‘Test1的’定義實例成員財產‘富’,而是擴大 類‘酒吧’代罰款它作爲實例成員函數「。
是否需要更改Bar-class的定義才能使用lambda函數?我寧願不,所以如果有其他解決方案,我會很感激幫助!
更新
好了,我發現了一些。如果我不是extends
使用implements
,我可以在Test1中使用lamdba函數。對我來說,實現一個類聽起來很奇怪。 Bar-class看起來像一個接口,可能是因爲它的作用?
實現只允許*你*,以確保兼容性類型並不做任何的代碼生成(如調用'__extends'功能) – basarat 2014-09-05 15:34:14