没有then情况的?运算符
没有then情况的?运算符
这个问题已经有了答案:
我的代码中有很多这样的表达式
somevale.get() ? somevale.get() : "my default value"
是否有一种简化它的方法,我想要以下语法,其等价于上面的版本
somevale.get() ?: "my default value"
或者至少如下
somevale.get() ? default: "my default value"
我知道我可以轻松地自己构建它
function check(value,default) ...
但我想避免这样做。还有其他的选择吗?
admin 更改状态以发布 2023年5月25日
我会选择以下内容:
somevale.get() || "my default value"
或者
somevale.get() ?? "my default value"
第一个是JavaScript逻辑或运算的规则:如果第一个值为假(为空、未定义、空值、零),则使用默认值。
第二个是ECMA 2020中的一个新手,仅将未定义和空值视为默认值。 它更安全,逻辑或会在第一个值为布尔值时出现问题。
另一方面,您可能需要等待一段时间,使得ECMA 2020代码在当前浏览器上正常工作。 这可能需要一些时间才能使用所有新功能。
更多信息: