欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript中的????和?||?有那些區(qū)別詳解

 更新時間:2025年07月28日 09:47:17   作者:Web小白菜~  
||運(yùn)算符用于邏輯判斷,返回第一個為真的操作數(shù),而 ?? 運(yùn)算符用于空值合并,返回第一個非空的操作數(shù),這篇文章主要介紹了JavaScript中的????和?||?有那些區(qū)別的相關(guān)資料,需要的朋友可以參考下

在JavaScript中,??(空值合并運(yùn)算符)和||(邏輯或運(yùn)算符)都可以用來處理變量值,但是切記這倆玩意不一樣,是有區(qū)別的。

??(空值合并運(yùn)算符)

空值合并運(yùn)算符 (??) 是一個邏輯運(yùn)算符,當(dāng)左側(cè)的操作數(shù)為 nullundefined 時,返回右側(cè)的操作數(shù);否則,返回左側(cè)的操作數(shù)。

let a = null;
let b = 5;
let result = a ?? b; // result 將是 5,因?yàn)?a 是 null

let c = 0;
let d = "hello";
let result2 = c ?? d; // result2 將是 0,因?yàn)?c 不是 null 或 undefined

||(邏輯或運(yùn)算符)

邏輯或運(yùn)算符 (||) 是一個短路邏輯運(yùn)算符,當(dāng)左側(cè)的操作數(shù)為假值(如 false、0、""、null、undefined 或 NaN)時,返回右側(cè)的操作數(shù);否則,返回左側(cè)的操作數(shù)。

let x = 0;
let y = "default";
let result3 = x || y; // result3 將是 "default",因?yàn)?0 被視為假值

let z = null;
let w = "hello";
let result4 = z || w; // result4 將是 "hello",因?yàn)?null 被視為假值


let result5 = null || undefined || 0 || "";  // 全是假值時,會返回最后一個  ''

區(qū)別

假值檢查:

  • ?? 只檢查 nullundefined。
  • || 檢查所有假值(false、0、""、null、undefined、NaN)。

類型強(qiáng)制轉(zhuǎn)換:

  • ?? 不會對操作數(shù)進(jìn)行類型轉(zhuǎn)換,它直接返回原始值
  • || 會進(jìn)行類型強(qiáng)制轉(zhuǎn)換,如果左側(cè)的操作數(shù)可以轉(zhuǎn)換為假值,則返回右側(cè)的操作數(shù)。

使用場景:

  • ?? 通常用于設(shè)置默認(rèn)值,當(dāng)左側(cè)的值可能為 nullundefined 時。
  • || 以前常用于設(shè)置默認(rèn)值,但現(xiàn)在推薦使用 ??,因?yàn)樗鼫?zhǔn)確地處理了 null 和 undefined 的情況。

總結(jié) 

到此這篇關(guān)于JavaScript中的 ?? 和 || 有那些區(qū)別的文章就介紹到這了,更多相關(guān)JS中??和||區(qū)別內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論