检查此代码段:
interface Foo {
id: string;
}
const fooFunc = (arr: Foo[]): Foo[] => arr
.map((item: Foo): Foo | null => {
const someCheck = true;
if (someCheck) {
return { id: '123' };
}
return null;
})
.filter((item: Foo | null) => item !== null);
或单击此处获取TS游乐场链接:https://pnda.me/TSPlaygroundFilterExample
类型
null
无法分配给类型Foo
它抱怨无法将null
分配给Foo
,但是,我使用.filter()
来过滤掉所有可能的null
。
为什么TypeScript仍在抱怨呢?那我该怎么办?
删除阵列上的.filter()
无效。