js的一些运算符规则

?? 是根据 null 和 undefined 判断的,

|| 是根据 布尔值 false 判断的, 左侧为true 不看右侧

&& 左侧为false 不看右侧

?. "可选链操作符",允许读取位于连接对象链深处的属性的值,而不必明确验证链中的每个引用是否有效。在引用 null 或者 undefined 的情况下不会引起错误(主要是用于防止报错!)

一、&& 是与运算,左侧true返回右侧,左侧false直接返回左侧

let aa = true && false // aa是 false

let aa = false && true // aa是false

二、|| 是或运算,左侧true返回左侧,左侧false直接返回右侧

let aa = true || false // aa是true

let aa = false || true // aa是true

三、??空值合并操作符,只有当左侧是null和undefind,才会返回右侧,其余情况返回左侧,和 || 运算符类似,又有不同 || 运算符当左侧是假值的情况就会返回右侧,如 0 或者 ""

let aa = null ?? 1 // aa是1

let aa = null || 1 // aa是1

let aa = undefind ?? 1 // aa是1

let aa = undefind || 1 // aa是1

let aa = 0 ?? 1 // aa是0

let aa = 0 || 1 // aa是1

let aa = "" ?? 1 // aa是""

let aa = "" || 1 // aa是1

四、?.可选链操作符 a?.b 当a存在是返回a.b

let a = {}

let aa = a?.b // aa是undefind

let aa = a?.b ?? 123 // aa是123

let a = {b:1}

let aa = a?.b // aa是1

相关推荐
卷帘依旧9 小时前
微前端解决方案-qiankun
前端
moshuying9 小时前
你做的,比汇报出来的多得多
前端
shuye2169 小时前
google chrome 离线下载地址
前端·chrome
yqcoder9 小时前
闭包是什么?优缺点、怎么防内存泄漏?
前端·http
riuphan9 小时前
JavaScript 中的 this 关键字
javascript
掰头战士9 小时前
五分钟带你深入了解 this
javascript
lichenyang4539 小时前
鸿蒙 ArkUI 组件基础复盘:从两个 UI 卡片回到 ComponentV2、状态管理和组件分层
前端
fantasy_arch9 小时前
BasicVSR-lite图像画质增强
开发语言·pytorch
biubiubiu_LYQ9 小时前
萌新小白基础理解篇之 this 关键字
前端·javascript
甜味弥漫9 小时前
深度解析 JS 中的 this 指向:从底层逻辑到实战规则
javascript·面试