猛的一看以为是不等于!=,仔细看了看发现是或等于|=,这下更蒙了,|=是什么鬼?之前完全没见过。
查了资料,看看写文章,发现是这么回事。
let a = 1; // 0001
a |= 2; // a = a|2
console.log(a); // 3
a初值为1,转为二进制是0001。
a|=2的意思就是a=a|2,就是让a与2做或运算。
2转二进制是0010,与0001做或运算。
注(或运算规则): 0|0=0; 0|1=1; 1|0=1; 1|1=1;
0001
0010
——
0011
结果就是0011,也就是3。