亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

可以使用 javascript `??` 運算符作為速記嗎

可以使用 javascript `??` 運算符作為速記嗎

holdtom 2023-05-11 16:45:34
我通常使用三元運算符,例如: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 operatoror是完全合法的??

不過請務必檢查瀏覽器兼容性!

=======

還有邏輯 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


查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 135 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號