Fel*_*ipe 5 type-inference typescript
我试图从数组中过滤掉未定义的值,但无法让编译器正确推断出结果类型.我知道我可以使用类型断言,但更愿意理解如何正确键入我的回调以实现此结果.
const isDefinedNum = (x: number | undefined, _i: number, _a: ReadonlyArray<number | undefined>): x is number => x !== undefined;
const a: (number | undefined)[] = [1, undefined, 2, undefined];
const b = a.filter(isDefinedNum);
Run Code Online (Sandbox Code Playgroud)
在上面,b是类型(number | undefined)[].我正在尝试让编译器使用以下类型来统一调用lib.d.ts:
filter<S extends T>(callbackfn: (this: void, value: T, index: number, array: ReadonlyArray<T>) => value is S): S[];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |