掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流
最近,看了一些關(guān)于JavaScript的測(cè)試腳本,覺(jué)得JS 中問(wèn)號(hào)的用法還是蠻有意思的,于是做了一下總結(jié),在這里分享給大家!JS中的問(wèn)號(hào)大概有三種用法,分別是:空值合并操作符、可選鏈操作符和三目運(yùn)算。

空值合并操作符??是一個(gè)邏輯操作符,當(dāng)左側(cè)的操作數(shù)為 null 或者 undefined 時(shí),返回其右側(cè)操作數(shù),否則返回左側(cè)操作數(shù)。
例如
console.log(null ?? "xx")
輸出 xx
console.log(1 ?? "xx")
輸出 1
可選鏈操作符(?.)可選鏈操作符允許讀取位于連接對(duì)象鏈深處的屬性的值,而不必明確驗(yàn)證鏈中的每個(gè)引用是否有效。 使用它的好處是引用為null 或者 undefined的情況下不會(huì)引起錯(cuò)誤。
語(yǔ)法:obj?.prop obj?.[expr] arr?.[index] func?.(args)
例如
var obj={a:{b:1}}
console.log(obj?.a?.b)
輸出1
console.log(obj?.a?.c)
輸出 undefined
這是三目運(yùn)算,具體表達(dá)式是(condition ? exprIfTrue : exprIfFalse)
該表達(dá)式的含義是 條件condition是真,則執(zhí)行exprIfTrue ,否則執(zhí)行exprIfFalse
舉個(gè)例子大家就懂了
var n = 10;
console.log((n >= 11) ? "a" : "b");
輸出b
當(dāng) var n = 12;
輸出a

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢(xún)/運(yùn)營(yíng)咨詢(xún)/技術(shù)建議/互聯(lián)網(wǎng)交流