JavaScript 错误:运算符 '<<' cannot be applied to types 'bigint' and 'number'

问题描述 投票:0回答:1

我正在尝试像这样对 bigint 进行位移动:

let foo = BigInt(420) << 32;

但是我收到了 JavaScript 错误:运算符'<<' cannot be applied to types 'bigint' and 'number'.

如何在 JavaScript 中对 bigint 进行位移位?

javascript typescript database bit-shift
1个回答
5
投票

正如 James 作为评论所建议的,并且根据 左移运算符的 MDN 文档(<<),运算的两边必须相同,要么都是数字,要么都是 BigInts。所以你应该在数字文字的末尾(例如 16n 和 32n),将它们声明为 BigInt 或显式创建它们。 不知道这是否真的是您的问题,因为抛出的异常与我在控制台上尝试时不同,但我希望它有所帮助。

另外,如果它有帮助,请不要将其标记为已回答,因为我想窃取詹姆斯的功劳哈哈哈。我只是想扩展一下答案。

© www.soinside.com 2019 - 2024. All rights reserved.