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

浙公网安备 33010602011771号