【ES6】ES6学习六:数值的扩展

本文介绍了ES6中二进制和八进制数值的新写法,以及Number对象的多个新方法,包括用于检查数值是否有限、是否为NaN、是否为整数的方法,以及如何将不同基数的数值转换为十进制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、二进制和八进制表示法

ES6 提供了二进制和八进制数值的新的写法,分别用前缀0b(或0B)和0o(或0O)表示。

0b111110111 === 503 // true
0o767 === 503 // true

如果要将0b和0o前缀的字符串数值转为十进制,要使用Number方法。

Number('0b111')  // 7
Number('0o10')  // 8

 

二、Number.isFinite()、Number.isNaN()

1、Number.isFinite():用来检查一个数值是否为有限的。如果参数类型不是数值,一律返回false。

Number.isFinite(15); // true
Number.isFinite(0.8); // true
Number.isFinite(NaN); // false

2、Number.isNaN():用来检查一个值是否为NaN。如果参数类型不是NaN,Number.isNaN一律返回false。

Number.isNaN(NaN) // true
Number.isNaN(9/NaN) // true
Number.isNaN(15) // false
Number.isNaN('15') // false
Number.isNaN(true) // false

 

三、Number.isInteger()

用来判断一个数值是否为整数。如果参数不是数值,Number.isInteger返回false。

Number.isInteger(25) // true
Number.isInteger(25.1) // false
Number.isInteger('15') // false

 JavaScript 内部,整数和浮点数采用的是同样的储存方法,所以 25 和 25.0 被视为同一个值。

Number.isInteger(25) // true
Number.isInteger(25.0) // true

 说明:如果对数据精度的要求较高,不建议使用它来判断一个数值是否为整数。

 

四、Number.parseInt()、 Number.parseFloat()

ES6 将全局方法parseInt()和parseFloat(),移植到Number对象上面,行为完全保持不变。这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。

// ES5的写法
parseInt('12.34') // 12
parseFloat('123.45#') // 123.45

// ES6的写法
Number.parseInt('12.34') // 12
Number.parseFloat('123.45#') // 123.45

 

五、Number.EPSILON

ES6 在Number对象上面,新增一个极小的常量Number.EPSILON。实际上是 JavaScript 能够表示的最小精度。误差如果小于这个值,就可以认为已经没有意义了,即不存在误差了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值