【发布时间】:2019-05-08 10:42:35
【问题描述】:
此模式引发 TypeScript 错误:
'(string | number)[]' 类型的参数不能分配给参数 'string[] 类型 |数字[]'
function foo(value: string | number) {
return bar([value]); // <- TypeScript error
}
function bar(valueList: string[] | number[]) {
..does something...
}
我理解这是因为 TypeScript 编译器会将其视为一个包含字符串和数字的数组。
有没有一种类型安全的方法来完成这个?我只能想投给any[],感觉很糟糕:
function foo(value: string | number) {
const valueList: any[] = [value];
return bar(valueList);
}
【问题讨论】:
-
你注意到string和string[]的区别了吗?
标签: javascript typescript