是这样。
我要从一个Array中取值 比如从 Array test=[1,3] 取第一位值。
但有时候 test 可能为空的 [] ,这时我希望返回-1来做后续处理
于是我用类似这样 v= test[0]||-1
上面的例子中我能取到1 ,如果为空,我能取回-1 这没问题,正常使用
但是问题来了,当 test 里面的首个比如为 [0,5] 这样时
我用 v=test[0]||-1 取回来的就是-1了。因为 0||-1 = -1,这与期望要取到的0就不符合了。
有没有其它简短的办法实现?谢谢
###ES2020 里新增了 ??
特性(Nullish coalescing operator,空值合并运算符)就是为了解决你这个问题的。
v = test[0] ?? -1
即可,等同于 v = (test[0] != null) ? test[0] : -1
。
兼容低版本的话需要 babel。
###test&&test.length?test[0]:-1