在函數使用單個對象或某些類型的對象數組時,我們正在使用簡單的函數聲明。使用一個或一組對象的Typescript函數
簡單的聲明是:
interface ISomeInterface {
name: string;
}
class SomeClass {
public names: ISomeInterface[] = [];
public addNames(names: ISomeInterface | ISomeInterface[]): void {
names = (!Array.isArray(names)) ? [names] : names;
this.names = this.names.concat(names);
}
}
但打字稿拋出 「類型不分配」 的錯誤。
有沒有更好的方法來做到這一點?顯然我們可以有兩個獨立的函數,但我認爲用這種方式處理單個對多個是相當好的。
普羅蒂普:不是IsArray的,使用的名稱= [] .concat(地名)。鍍鉻速度提高43%。 –