4
我有下面這個問題的例子。在打字稿0.9我似乎能夠調用重載方法的最後簽名:TypeScript 0.9過載可調用
class Test {
method(...names: string[]) : void;
method(names: string[]) : void {
}
}
var x= new Test();
x.method('One', 'Two', 'Three');
x.method(['One', 'Two', 'Three']);
在打字稿0.8.4你必須指定第三個特徵,即:
class Test {
method(...names: string[]) : void;
method(names: string[]) : void;
method(names: any) : void {
}
}
var x= new Test();
x.method('One', 'Two', 'Three');
x.method(['One', 'Two', 'Three']);
不該」最後的簽名是隱藏的? (因爲它最有可能包含any
類型等的超廣義簽名)。
什麼是最終簽名? –
最後的簽名是具有實現的那個簽名(即不是以';'結尾的簽名)。所以在最後一個例子中,最後的簽名是'method(names:any):void {',其餘的都是超載簽名。 – Fenton