JS中的运算符: & | 和 &&、||、??
&
和|
是位运算符。&&
和||
是逻辑运算符;
1、位运算符(与): &
只有都是1相与结果才是1。其余结果为0
0 & 0 // => 0
1 & 0 // => 0
1 & 1 // => 1
11111 & 00010 // => 00010
2、位运算符(或): |
只要有一个1相或结果为1。
0 | 0 // => 0
1 | 0 // => 1
1 | 1 // => 1
11111 | 00010 // => 11111
3、逻辑运算符(且): &&
- 只要
&&
前面是false
,结果都返false
。 - 只要
&&
前面是true
,结果都将返&&
后面的值。
0 && 2 // => 0
1 && 3 // => 3
1 && 0 // => 0
4、逻辑运算符(或): ||
- 只要
||
前面为false
,都返回||
后面的值。 - 只要
||
前面为true
,都返回||
前面的值。
0 || 2 // => 2
1 || 3 // => 1
1 || 0 // => 1
5、判空运算符 : ??
- 只要
??
前面为null
或undefined
,则返回??
后面的值。 - 否则返回前面的值
注意区别:??
与 ||
??
只判断是否为空(null 或 undefined)||
判断的是 True 或 False
0 ?? 2 // => 0
false ?? 2 // => false
null ?? 3 // => 3
undefined ?? 0 // => 0
Number(undefined) // => NaN
Number(undefined) ?? 2 // => NaN ,而不是2
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程