合併運算子??

2021-10-09 03:59:47 字數 656 閱讀 4546

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...