使用 ^ 和 ! 取反的区别:
使用 ^ 运算符:
const fn1 = _ => _^1;
[0, 1, false, true, '0', '1'].forEach(n => console.log(fn1(n)));
// 1
// 0
// 1
// 0
// 1
// 0
使用 ! 运算符:
const fn2 = _ => !_;
[0, 1, false, true, '0', '1'].forEach(n => console.log(fn1(n)));
// true
// false
// true
// false
// false
// false
使用!取反时,对字符串“0”、“1”的取反都是false
^ 运算符的运算规则:
0^0=0;
0^1=1;
1^0=1;
1^1=0;