1
考虑下面的代码片段:Array.prototype.filter和歧视联盟的最小类型注释?
type asdf = '.' | number;
const foo: asdf[] = ['.', 1, 3, '.'];
const bar: number[] = foo.filter(v => typeof v === 'number');
它无法编译,因为编译器无法推断出的bar
类型是number[]
。
- 为什么编译器不能推导出正确的类型?
- 什么是使编译器理解类型的最小类型注释?
内联版本**完全**是我希望的解决方案。非常感谢! – LudvigH