You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript新手对&位运算符的理解困惑及相关疑问

嘿,作为刚入门JavaScript的新手,能留意到位运算符的细节,这学习态度超赞!让我把你提到的几个点梳理清楚,帮你彻底搞明白~

搞懂JavaScript中的按位与(&)运算符

首先再明确下它的核心规则:正如你看到的,**&(按位与)**会逐位对比两个操作数的二进制表示,只有当对应位置的两个位都为1时,结果的该位才是1,其余情况都是0。

举个直观的例子:

// 5的二进制是 101,3的二进制是 011
console.log(5 & 3); // 输出1,对应二进制 001

关于1 & 1和乘法的巧合

你提到的1 & 1等同于1 × 1,这其实是个特殊场景下的巧合哦!当操作数只有0和1的时候,按位与的结果确实和乘法一致,但千万别把这个当成通用规则。比如:

console.log(3 & 5); // 输出1
console.log(3 * 5); // 输出15

显然两者结果完全不同,所以还是要回归到按位对比的本质逻辑来理解&运算符。

顺便聊聊你提到的==和===

这两个是相等判断运算符,和位运算符&完全是不同领域的语法:

  • ==是宽松相等,会先自动做类型转换再比较值,比如1 == '1'会返回true
  • ===是严格相等,同时比较值和数据类型,1 === '1'就会返回false
    站内已经有很多优质解答讲这两者的区别,你可以搜来加深理解~

如果之后你在学习JS的过程中遇到具体的问题,随时来提问哦!

内容的提问来源于stack exchange,提问作者Jasmine Butaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.27 03:41:45