我们经常使用简单的函数声明,其中函数采用单个对象或某种类型的对象数组。
简单的声明是:
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);
}
}
但是 TypeScript 抛出“类型不可分配”错误。
有更好的方法吗?显然我们可以有两个独立的函数,但我认为以这种方式处理单个函数和多个函数是相当不错的。
原文由 Tomas 发布,翻译遵循 CC BY-SA 4.0 许可协议
你可以让它更容易
来自 MDN