LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 342|回复: 0

数学运算符

[复制链接]
发表于 2024-2-1 22:10:33 | 显示全部楼层 |阅读模式
BigInt 大多数情况下可以像常规数字类型一样使用,例如:

alert(1n + 2n); // 3

alert(5n / 2n); // 2
请注意:除法 5/2 的结果向零进行舍入,舍入后得到的结果没有了小数部分。对 bigint 的所有操作,返回的结果也是 bigint。

我们不可以把 bigint 和常规数字类型混合使用:

alert(1n + 2); // Error: Cannot mix BigInt and other types
如果有需要,我们应该显式地转换它们:使用 BigInt() 或者 Number(),像这样:

let bigint = 1n;
let number = 2;

// 将 number 转换为 bigint
alert(bigint + BigInt(number)); // 3

// 将 bigint 转换为 number
alert(Number(bigint) + number); // 3
转换操作始终是静默的,绝不会报错,但是如果 bigint 太大而数字类型无法容纳,则会截断多余的位,因此我们应该谨慎进行此类转换。

BigInt 不支持一元加法
一元加法运算符 +value,是大家熟知的将 value 转换成数字类型的方法。

为了避免混淆,在 bigint 中不支持一元加法:

let bigint = 1n;

alert( +bigint ); // error
所以我们应该用 Number() 来将一个 bigint 转换成一个数字类型。

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表