JavaScript中問號的三種用法??和?.以及 ?: ,您知道嗎?
最近,看了一些關(guān)于JavaScript的測試腳本,覺得JS 中問號的用法還是蠻有意思的,于是做了一下總結(jié),在這里分享給大家!JS中的問號大概有三種用法,分別是:空值合并操作符、可選鏈操作符和三目運(yùn)算。
問號問號(??)
空值合并操作符??是一個(gè)邏輯操作符,當(dāng)左側(cè)的操作數(shù)為 null 或者 undefined 時(shí),返回其右側(cè)操作數(shù),否則返回左側(cè)操作數(shù)。
例如
問號點(diǎn) (?.)
可選鏈操作符(?.)可選鏈操作符允許讀取位于連接對象鏈深處的屬性的值,而不必明確驗(yàn)證鏈中的每個(gè)引用是否有效。 使用它的好處是引用為null 或者 undefined的情況下不會引起錯(cuò)誤。
語法:obj?.prop obj?.[expr] arr?.[index] func?.(args)
例如
問號冒號(?: )
這是三目運(yùn)算,具體表達(dá)式是(condition ? exprIfTrue : exprIfFalse)
該表達(dá)式的含義是 條件condition是真,則執(zhí)行exprIfTrue ,否則執(zhí)行exprIfFalse
舉個(gè)例子大家就懂了