TypeScript编译器在使用isNull时会抱怨为空

问题描述 投票:0回答:1

当我在tsconfig.json中具有strictNullChecks: true并使用isNull进行空检查时,编译器将引发错误TS2531: Object is possibly 'null'isNull摆脱了VsCode中的错误,但是当我尝试构建和运行Angular应用程序时,编译器仍然会抱怨。如果我使用=== null进行空检查,则没有错误。

是否有一种方法可以告诉编译器将isNull视为有效的空检查?

import { isNull } from "util"; // from @types/node
    ...

    public run() {
        this.printS("hello");
        this.printS(null);
    }

    public printS(s: string | null) {
        if (isNull(s)) {
            console.log("s is null");
            return;
        }
        console.log("s is not null: ", s.toString()); // error on this line
    }
"typescript": "~3.2.2"
"@types/node": "~8.9.4",
angular typescript visual-studio-code
1个回答
0
投票

从节点v4开始不推荐使用isNull。

    /** @deprecated since v4.0.0 - use `value === null` instead. */
    function isNull(object: any): object is null;

仅使用s === null。够了。

© www.soinside.com 2019 - 2024. All rights reserved.