空值合并運(yùn)算符
MDN:
空值合并操作符(
??)是一個(gè)邏輯操作符,當(dāng)左側(cè)的操作數(shù)為null或者undefined時(shí),返回其右側(cè)操作數(shù),否則返回左側(cè)操作數(shù)。與邏輯或操作符
||不同,邏輯或操作符會(huì)在左側(cè)操作數(shù)為假值時(shí)返回右側(cè)操作數(shù)。也就是說,如果使用||來為某些變量設(shè)置默認(rèn)值,可能會(huì)遇到意料之外的行為。比如為假值(例如,''或0)時(shí)。見下面的例子。
-
不能與
&&和||直接共用應(yīng)當(dāng)是因?yàn)榭罩岛喜⒉僮鞣推渌壿嫴僮鞣g的運(yùn)算優(yōu)先級/運(yùn)算順序是未定義的
null || undefined ?? "foo"; // 拋出 SyntaxError true || undefined ?? "foo"; // 拋出 SyntaxError // 如果使用括號(hào)來顯式表明運(yùn)算優(yōu)先級,是沒有問題的: (null || undefined ) ?? "foo"; // 返回 "foo"
來源: [MDN](Web 開發(fā)技術(shù) | MDN (mozilla.org))
本文來自博客園,作者:MerLin97,轉(zhuǎn)載請注明原文鏈接:http://www.rzrgm.cn/merlin97/p/15578304.html


浙公網(wǎng)安備 33010602011771號(hào)