Hel*_*rld 7 javascript typescript
给出的函数签名如下:
function foo(): string[] | number[]
Run Code Online (Sandbox Code Playgroud)
为什么TS会抱怨filter的follow函数调用?
foo().filter((v) => true);
^^^^^^
Error
Run Code Online (Sandbox Code Playgroud)
该表达式不可调用。联合体类型的每个成员 '{ (谓词: (value: number, index: number, array: number[]) => value is S, thisArg?: any): S[]; (谓词: (值: 数字, 索引: 数字, 数组: 数字[]) => 未知, thisArg?: 任意): 数字[]; } | { ...; }' 有签名,但这些签名都不相互兼容。
当然我可以将其转换为[],但是这里正确的方法是什么?错误信息很难理解?人们如何破译这一点呢?
示例:游乐场
function foo(): (number|string)[]
Run Code Online (Sandbox Code Playgroud)
出于与此处相同的原因: Typescript:如何映射联合数组类型?
| 归档时间: |
|
| 查看次数: |
5771 次 |
| 最近记录: |