a ?? b 的結果是:
a,如果 a 不是 null 或 undefined,
b,其他情況。
或運算子 || 可以與 ?? 運算子以同樣的方式使用。
重要的區別是:
|| 返回第乙個 真 值。
?? 返回第乙個 已定義的 值。
當我們想將 null/undefined 與 0 區別對待時,這個區別至關重要。
例如,考慮下面這種情況:
height = height ?? 100;
如果 height 未定義,則將其賦值為 100。
讓我們將其與 || 進行比較:
let height = 0;
alert(height || 100); // 100
alert(height ?? 100); // 0
在這個例子中,height || 100 將值為 0 的 height 視為未設定的(unset),與 null、undefined 以及任何其他假(false)值同等對待。因此得到的結果是 100。
height ?? 100 僅當 height 確實是 null 或 undefined 時才返回 100。因此,alert 按原樣顯示了 height 值 0。
哪種行為更好取決於特定的使用場景。當高度 0 為有效值時,?? 運算子更適合。
展開合併運算子
展開合併運算子 展開合併運算子,實際上都是一樣的運算子 只是不同情況下,執行不同功能 運算子 三個點 如果定義在 形參 中 合併運算子,以陣列的形式,將所有實參,儲存在定義的形參中 語法1 形參 以陣列的形式,將所有的實參,儲存在形參中 語法2 形參1,形參2,形參3 形參1中儲存實參1,形參2中儲...
C 空合併運算子
c 除了有?這個三元運算子以外 還有兩個問號?運算子叫做空合併運算子,用來判斷null值取空非常方便 string c a b a是值型別string,如果a是null,那麼c b,否則c a。這樣就會有新的需求,如果a是乙個物件 引用型別 a有name欄位,我們需要在a不是null的時候獲取a.n...
mysql合併運算子 PHP NULL 合併運算子
php null 合併運算子 php 7 新增加的 null 合併運算子 是用於執行isset 檢測的三元運算的快捷方式。null 合併運算子會判斷變數是否存在且值不為null,如果是,它就會返回自身的值,否則返回它的第二個運算元。以前我們這樣寫三元運算子 site isset get site g...