每日一问——BigInt

BigInt

在前面我们知道JS中Number是双精度浮点数,他可以表示的书实际上上是有一个范围的在正负2的53次方减一之间,超出此范围就无法表示了。而BigInt可以用任意精度表示整数。即使超出Number 的安全整数限制,也可以安全地存储和操作大整数。注意的一点是BigInt只能表示整数不能表示小数。

一. 创建BigInt的值:
两种方式:第一种就是直接在整数后面加个小写的n即可。第二种就是使用BigInt函数。但BigInt() 不是构造函数,因此不能使用 new 操作符。

var a=123n;
const b=BigInt(12345);//=>b=12345n
const c=BigInt("123456789");
//BigInt函数里面可以是数值(二进制,八进制,十六进制也行)也可以是字符串(能转换成整数的字符串)

二. 类型检测
BigInt是javascript中一个新的数据类型,因此使用typeof检测时会返回新类型"bigint"。
三. 运算

  1. 对于+、-、*、/、%,+=, -=,** 等运算符,要求两边都是BigInt类型,否则会报错。另外也支持++,–运算。要注意的是当使用 BigInt 时,带小数的运算会被取整。
var a=5n;
var b=2n;
console.log(b/a); //=>2n
  1. 对于 > >=,<,<=,==,!= 运算符可以和数字进行比较。注意的是因为BigInt是一个新的数据类型,所以在和Number进行绝对相等比较时是不同的
var a=123n;
var b=124;
b>a;  //=>true
var c=123;
b===a; //=>false
  1. BigInt不支持Math函数
    四. 类型转换

  2. 转换成Boolean:与number类型一样

  3. 转换为字符串:有toString和toLocalString方法

var a=123n;
console.log(a.toString())  //=>'123'
console.log(a.toLocaleString())  //=>'123'
console.log(a.valueOf())  //=> 123n
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值