JavaScript中,?? 和 ||

在JavaScript中,`??` 和 `||` 都是用于处理条件判断和赋值的逻辑运算符,但它们在某些方面有所不同。

1. `??` (空值合并运算符):
   `??` 运算符用于判断某个值是否为 `null` 或 `undefined`。它可以用于为变量或表达式提供一个默认值,只有在左侧的操作数为 `null` 或 `undefined` 时才会使用右侧的默认值。

   示例:

 const x = y ?? 10;


   上面的代码中,如果 `y` 的值为 `null` 或 `undefined`,则将 `x` 的值设为默认值 `10`,否则 `x` 的值为 `y` 的值。

2. `||` (逻辑或运算符):
   `||` 运算符用于执行逻辑或操作。它会对左侧的操作数求值,并检查其是否为真(truthy)。如果左侧的操作数为真,则返回左侧的操作数的值;如果左侧的操作数为假(falsy),则返回右侧的操作数的值。

   示例:
   

 const x = y || 10;


   上面的代码中,如果 `y` 的值为非空和非零的值(truthy 值),则将 `x` 的值设置为 `y`,否则将 `x` 的值设为默认值 `10`。

总结:
`??` 运算符是一个空值合并运算符,用于指定默认值。
`||` 运算符是一个逻辑或运算符,用于判断并选择不同的值。

需要注意的是,`??` 和 `||` 在处理不同类型的值、优先级和短路行为方面可能有所不同。在实际使用时,请根据具体情况选择适当的运算符。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值