TypeScript:$cacheItem->isHit() // true
VS代码中的函数报告错误,但在WebStorm中是正常的。
这是VS Code中的内容:
报告
Type String未分配给Type String []
这就是WebStorm中的现状:
虽然没有问题,但没有显示回调注释,例如上面的Array.reduce
和map
之前的代码是:
filter
我不知道问题是在我的代码还是TypeScript编译器中。
答案 0 :(得分:0)
如果您使用undefined
,则所选的重载将是
reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T, initialValue: T): T;
期望结果与数组的项目类型相同。
您应该在初始值(undefined
)上使用类型断言,让编译器知道结果类型为string
或指定reduce
的类型参数
.reduce((prev, curv, index, array) => curv[1], <string>undefined);
.reduce<string>((prev, curv, index, array) => curv[1], undefined)
如果这样做,所选的重载将是
reduce<U>(callbackfn: (previousValue: U, currentValue: T, currentIndex: number, array: T[]) => U, initialValue: U): U;