ES6数值的拓展

Posted cmy1996

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6数值的拓展相关的知识,希望对你有一定的参考价值。

二进制和八进制表示法

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

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

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

Number.isFinite()用来检查一个数值是否为有限的(finite),即不是Infinity

注意,如果参数类型不是数值,Number.isFinite一律返回false

Number.isNaN()用来检查一个值是否为NaN

如果参数类型不是NaNNumber.isNaN一律返回false

 

它们与传统的全局方法isFinite()isNaN()的区别在于,传统方法先调用Number()将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,Number.isFinite()对于非数值一律返回falseNumber.isNaN()只有对于NaN才返回true,非NaN一律返回false

isFinite(25) // true
isFinite("25") // true
Number.isFinite(25) // true
Number.isFinite("25") // false

isNaN(NaN) // true
isNaN("NaN") // true
Number.isNaN(NaN) // true
Number.isNaN("NaN") // false
Number.isNaN(1) // false

Number.isInteger()

Number.isInteger()用来判断一个数值是否为整数。

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

如果参数不是数值,Number.isInteger返回false

Number.isInteger() // false
Number.isInteger(null) // false
Number.isInteger(‘15‘) // false
Number.isInteger(true) // false

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

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

 

以上是关于ES6数值的拓展的主要内容,如果未能解决你的问题,请参考以下文章

ES6数值的拓展

es6数值拓展

ES6 随记(3.4.1)-- 函数的拓展(参数默认值,扩展运算符)

6. 数值的拓展

ES6函数的拓展

ES6标准入门之正则表达式的拓展