逻辑或运算符||、空值合并运算符??和逻辑与操作符 &&

本文介绍了JavaScript中的逻辑运算符,包括逻辑或(||)、逻辑与(&&)&空值合并(??)运算符的工作原理和用法。||运算符返回第一个真值,??运算符在左值为null或undefined时返回右值,而&&运算符在遇到第一个假值时返回该值。这些运算符在处理条件判断和默认值设定时非常有用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

逻辑或运算符|| 、 空值合并运算符??和逻辑与操作符 &&

区别

  • || 返回第一个值。
  • ?? 返回第一个已定义的值。

JavaScript里的假值只有false、null、undefined、空字符、0和NaN。

运算符优先级运算符类型顺序
… && …5逻辑与 (&&)从左到右
…|| …4逻辑或 ||从左到右
… ?? …4空值合并 (??)从左到右

空值合并运算符 ??

空值合并运算符??value1 ?? value2只有当value1为null或者 undefined 时value2,否则取value1

说明

  • 短路运算,当左表达式为 null 或 undefined 时,不会对右表达式进行求值。
  • 不能与&&||运算符组合使用,除非使用括号明确指定了优先级
  • 常用场景:为常量提供默认值,保证常量不为null或undefined

原理

const result = value !== undefined && value !== null ? value : defaultValue;

逻辑或运算符 ||

逻辑或运算符||:如果第一个操作数为真,则返回第一个操作数的值;否则返回第二个操作数的值。

说明

  • || 是一个布尔逻辑运算符,左侧的操作数会被强制转换成布尔值
  • 短路运算,当左表达式为真时,不会对右表达式进行求值

JavaScript 在需要用到布尔类型值的上下文中使用强制类型转换(Type Conversion )将值转换为布尔值,例如条件语句、||&&等。

能够转化为 true 的值叫做真值,能够转化为 false 的值叫做假值。

JS中的假值

  • false
  • null
  • undefined
  • 0
  • NaN
  • “ ”
//{}为真值
if({})console.log('xxx') //xxx  
//[]为真值
if([])console.log('xxx') //xxx 

逻辑与操作符 &&

逻辑与操作符 &&:从左到右对操作数求值,遇到第一个假值操作数时立即返回;如果所有的操作数都是真值,则返回最后一个操作数的值。

说明

  • 短路运算,当每个操作数被转换为布尔值时,如果发现一个转换的结果是 false,那么逻辑与运算符就会停止,并返回该假操作数的原始
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值