我通常使用三元运算符,例如:let foo = str.match(/[*]/g) ? str.match(/[*]/g) : "none!";自从使用 PHP 以来,我注意到该语言有很多速记,对于三元运算符,将使用:$foo = $view->test ?? "none";我没有在 javascript(或关于它的文档)中看到它,但试过它:let str = "1234";let foo1 = str.match(/[*]/g) ?? "none;console.log(foo) // "none"let str1 = "1*2*";let foo1 = str1.match(/[*]/g) ?? "none;console.log(foo1) // ['*','*']它似乎有效。在检查元素是否存在时,这是使用三元运算符的可接受方式吗?
1 回答
Helenr
TA贡献1780条经验 获得超4个赞
我想使用nullish coalescing operator
or是完全合法的??
。
不过请务必检查浏览器兼容性!
=======
还有逻辑 OR||
运算符可用于类似的操作:
o1 = true || true // t || t returns true
o2 = false || true // f || t returns true
o3 = true || false // t || f returns true
o4 = false || (3 == 4) // f || f returns false
o5 = 'Cat' || 'Dog' // t || t returns "Cat"
o6 = false || 'Cat' // f || t returns "Cat"
o7 = 'Cat' || false // t || f returns "Cat"
o8 = '' || false // f || f returns false
o9 = false || '' // f || f returns ""
o10 = false || varObject // f || object returns varObject
添加回答
举报
0/150
提交
取消