.filter()是否不影响TypeScript中函数的返回类型?

时间:2018-06-22 16:23:51

标签: arrays typescript typescript-typings

检查此代码段:

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()无效。

0 个答案:

没有答案