当我在tsconfig.json中有strictNullChecks: true
并使用isNull
进行空检查时,编译器将引发错误TS2531: Object is possibly 'null'
。 isNull
摆脱了VsCode中的错误,但是当我尝试构建和运行Angular应用程序时,编译器仍然会抱怨。如果我使用=== null
进行空检查,则没有错误。
是否有一种方法可以告诉编译器将isNull
视为有效的null检查?
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",
答案 0 :(得分:0)
isNull。
/** @deprecated since v4.0.0 - use `value === null` instead. */
function isNull(object: any): object is null;
只需使用s === null
。够了。
答案 1 :(得分:0)
是的,isNull()函数已被弃用,但是如果您已经在代码中多次使用过isNull()函数,并且不想在任何地方进行更改,则只需创建自己的函数isNull()即可。使用该功能。
function isNull(object:any){
if(object === null){
return true
}
else {
return false
}
}