空值合并运算符(??) 和逻辑或运算符(||) 对比
空值合并运算符(??)
是一个逻辑运算符,当左侧的操作数据为 null 或 undefined
时,返回其右侧数据,否则返回左侧操作数
与逻辑或运算符(||)
不同,逻辑或运算符会在左侧数据为假值时返回右侧数据,也就是说,如果使用逻辑或运算符 ||
,来为某些变量赋默认值时,会先将左侧的数据进行布尔运算,如果运算结果为 false
则会返回右侧数据,这时如果左侧数据是 0 或者 ''
时,也会返回右侧数据
尝试一下
1 | let a = 0 ?? 2 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 SZX的开发笔记!
评论