数值的扩展
ES6提供了二进制和八进制数值的新写法,分别用前缀0b(0B) 和0c(oC) 表示。
用前缀0b(0B) 和0c(oC) 的字符串转十进制数值需使用Number方法。
- Number.isFinite方法用来检查数值是否是有限的
- Number.isNaN方法用来检测是否为NaN
ES6将parseInt方法和parseFloat方法移植到了Number对象上
- Number.parseInt
- Number.parseFloat
- Number.isInteger方法判断是否为整数(3=3.0 都为整数)
- Number.EPSILON方法返回一个极小的常量,引入这个常量的目的是为浮点数计算设置一个误差范围
JS能准确表示的整数范围在 到
之间(不含两个端点),超过则无法精确表示。
Number.MAX_SAFE_INTEGER和Number.MIN_SAFE_INTEGER这两个常量分别表示这个范围的上下限。
- Number.isSafeInteger方法用于判断一个整数是否在这个范围内
Math的扩展(非数值的话会自行调用Number方法转换为数值在调用)
- Math.trunc方法,去除一个数值的小数部分
- Math.sign方法,用来判断一个数值是正数(+1)、负数(-1)、0 (0)、-0(-0)、其他值(NaN)
- Math.cbrt方法,用于计算一个数值的立方根
- Math.clz32方法,返回一个数值的32位无符号整数形式有多少个前导0
- Math.imul方法,返回两个数以32位带符号整数形式相乘的结果
- Math.fround方法,返回一个数值的单精度浮点数形式
- Math.hypot方法,返回所有参数的平方和的平方根
- 对数方法Math.expm1、Math.log1p、Math.log10、Math.log2
- 双曲线方法Math.sinh、Math.cosh、Math.tanh、Math.asinh、Math.acosh、Math.atanh
- Math.signbit方法,判断数值的正负(负数和-0返回true、NaN和其他返回false)
- **表示指数运算
Integer数据类型
JS所有数字都保存为64位浮点数,所以精度只有
Integer只能表示整数,位数没有限制,使用n后缀来表示
typeof 返回 integer
JS原生提供的Integer对象
运算
integer类型的+、-、*、**这四个二元运算符与Number类型的行为一致,除法会舍去小数,返回一个整数