JavaScript现在提供??
和?.
来执行诸如查找第一个非null表达式或在不为null的情况下取消引用对象之类的操作。
[添加:"nullish"表示"null
或undefined
",类似于nullish合并运算符]。
有没有一种好的惯用方法来简单地测试非无效性?例如,如果我只想在值为非零的情况下调用onChange()
处理程序。即:
someVal && onChange(someVal)
显然,这是不正确的,因为它将失败的虚假但非无效的值(特别是0
和''
(。
惯用方法是if
语句与null
:进行比较
if (someVal != null) onChange(someVal)
if (someVal != null) {
onChange(someVal)
}
对此没有运算符。有些人表示希望扩展管道运营商的提案,让您编写类似someVal ?> onChange;
的内容,但我不知道这个想法有任何实现。