前端‘&’和‘&&’与‘||’和‘|’的区别?

199 阅读1分钟

前端中‘==’和‘===’与‘&’和‘&&’与‘||’和‘|’的区别?

‘$$ ||’ 逻辑运算符; ‘$ |’位运算符

“==”和“===”的区别:

==: 先检查类型是否相同,如果不同, 则进行类型转换后再进行比较; ===: 如果类型不同,直接就是false.

"&"和“&&”的区别:

&和&&都表示:符号两端必须同时为真,最后的结果为真;其中一端为假,则最后的结果为假

不同之处:

用&时,左端为假,还需要继续判断右端真假;

用&&时,左端为假,则不需要判断右端真假,即右端不需要进行运算

“|”和“||”的区别:

相同之处:

| 和 || 都表示:符号两端中有一端为真时,最后的结果为真;两端都为假时,最后的结果为假

不同之处:

用 | 时,左端无论真假(即使为真),右端还要继续运算;

用 || 时,左端为真,右端不需要进行运算,结果直接为真

总结:

&和&&最后的结果相同,| 和 || 最后的结果也相同

但&&和 || 更为高效一点,可以减少不必要的运算

补充:<< 符号是 js 中的位操作符,1 << N 的意思是:将数字 1 的位向左移动 N 位。