由于TypeScript是强类型的,简单地使用if(){}来检查null和undefined听起来并不正确。

TypeScript有专门的函数或语法吗?


当前回答

你可以用:

if (!!variable) {}

它等于写作

it (variable != null && variable != undefined) {}

其他回答

TypeScript有专门的函数或语法糖吗

TypeScript完全理解JavaScript版本== null。

通过这样的检查,TypeScript会正确地排除null和undefined。

More

https://basarat.gitbook.io/typescript/recap/null-undefined

if(data){}

这是卑鄙的数据

零 未定义的 假 ....

试试这个,用!!运算符和变量。

let check;
if (!!check) {
  console.log('check is not null or not undefined');
} else {
  console.log('check is  null or  undefined');
}

它在Angular中非常有用。 检查任何变量的undefined和null。

你可能想试试

if(!!someValue)

! !

解释

第一个!将表达式转换为布尔值。

如果someValue为假则为真,如果someValue为真则为假。这可能会让人困惑。

通过添加另一个!,表达式现在如果someValue为真则为真,如果someValue为假则为假,这更容易管理。

讨论

现在,为什么我要用if (!!someValue)来麻烦自己,而像if (someValue)这样的东西会给我相同的结果?

因为! !someValue恰好是一个布尔表达式,而someValue可以是任何东西。这种表达式现在可以编写如下函数(上帝,我们需要这样的函数):

isSomeValueDefined(): boolean {
  return !!someValue
}

而不是:

isSomeValueDefined(): boolean {
  if(someValue) {
    return true
  }
  return false
}

我希望这能有所帮助。

你可以使用

if(x === undefined)