BigInt和Number转换
在 JavaScript 中处理数字时,有两种基本类型可供选择 - BigInt 和 Number。人们可以期待从“较小”类型到“较大”类型的隐式转换,这在 JavaScript 中并非如此。
预期的
当计算 BigInt 和 Number 的某些组合时,用户可以期望从 Number 到 BigInt 的隐式转换,如下例所示:
const number = 16n + 32; // DOESN'T WORK
// Expected: Evaluates to 48n
实际行为
在 BigInt 和 Number 上运行的表达式都抛出错误:
const number = 16n + 32;
// Throws "TypeError: Cannot mix BigInt and other types, use explicit conversions"
为什么在上述情况下需要显式转换?
或者换句话说,这种设计背后的原因是什么?
慕桂英3389331
qq_遁去的一_1
相关分类