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

如何解决JavaScript中BigInt位移位时的类型不匹配报错?

解决BigInt位移操作的类型错误

JavaScript的位操作符(包括<<、>>、>>>)要求操作数必须是相同的数值类型,不能混合使用bigint和number。你遇到的错误就是因为右侧的32是普通number类型,而左侧是BigInt类型。

解决方法很简单,把位移的操作数也转换为BigInt即可,有两种写法:

  • 用BigInt()函数转换:
let foo = BigInt(420) << BigInt(32);
  • 直接使用BigInt字面量后缀n:
let foo = BigInt(420) << 32n;

这样就能正常执行位移操作,不会再触发类型不兼容的错误。

内容的提问来源于stack exchange,提问作者Cale McCollough

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 10:35:54