没有then情况的?运算符

8 浏览
0 Comments

没有then情况的?运算符

这个问题已经有了答案

JavaScript 简写条件运算符

我的代码中有很多这样的表达式

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日
0
0 Comments

我会选择以下内容:

somevale.get() ||  "my default value"

或者

somevale.get() ??  "my default value"

第一个是JavaScript逻辑或运算的规则:如果第一个值为假(为空、未定义、空值、零),则使用默认值。

第二个是ECMA 2020中的一个新手,仅将未定义和空值视为默认值。 它更安全,逻辑或会在第一个值为布尔值时出现问题。

另一方面,您可能需要等待一段时间,使得ECMA 2020代码在当前浏览器上正常工作。 这可能需要一些时间才能使用所有新功能。

更多信息:

JavaScript中是否有“null coalescing”运算符?

https://medium.com/better-programming/how-to-use-the-null-coalescing-operator-in-javascript-15adefe7c655

ES7,ES8,ES9,ES10浏览器支持

0
0 Comments

你可以使用 somevale.get() || "my default value"

0