gpt4 book ai didi

javascript - 空值合并运算符 (??) 与 ECMAScript 中的逻辑 OR 运算符 (||) 有何不同?

转载 作者:行者123 更新时间:2023-12-05 00:24:46 29 4
gpt4 key购买 nike

ES2020 引入了 空值合并运算符 ( ?? ) 如果左操作数为空或未定义,则返回右操作数。此功能类似于 逻辑或运算符 ( || ) .例如,以下表达式返回相同的结果。

const a = undefined
const b = "B"

const orOperator = a || b
const nullishOperator = a ?? b

console.log({ orOperator, nullishOperator })
结果:
{
orOperator:"B",
nullishOperator:"B"
}
那么 怎么样?空运算符 不同,它的用例是什么?

最佳答案

||当且仅当左侧是 时,运算符才计算右侧falsy 值(value)。??当且仅当左侧为 null 时,运算符(空合并)计算右侧或 undefined .false , 0 , NaN , "" (空字符串)例如被认为是虚假的,但也许您实际上想要这些值。在这种情况下,??运算符是正确使用的运算符。

关于javascript - 空值合并运算符 (??) 与 ECMAScript 中的逻辑 OR 运算符 (||) 有何不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65022531/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com