测试非无效性的惯用方法

Idiomatic way to test for non-nullishness

JavaScript 现在提供 ???. 来执行查找第一个非空表达式或取消引用非空对象等操作。

[添加:“nullish”表示“nullundefined”,就像无效合并运算符]。

是否有一种很好的惯用方法来简单地测试非无效性?例如,如果我只想在我的值为非空值时调用 onChange() 处理程序。即:

someVal && onChange(someVal)

显然这是不正确的,因为它会因虚假但非空值而失败(特别是 0'')。

惯用的方式是 if 语句与 null:

进行比较
if (someVal != null) onChange(someVal)
if (someVal != null) {
    onChange(someVal)
}

这个没有运算符。有些人 have expressed as desire for an extension to the pipeline operator proposal 会让你写一些类似 someVal ?> onChange; 的东西,但我不知道这个想法有任何实现。