新的静态属性ES6在Number对象上增加了一些静态常量属性,用于辅助计算。Number.EPSILONNumber.EPSILON(2-52)表示任意两个值之间的最小差值,换句话说,如果a和b之间的差值的绝对值小于Number.EPSILON,那么我们可以认为这两个值是相等的.即:$$|a-b|booleanNumber.isNaN用于解决原有全局函数窗口的缺陷.isNaN。在window.isNaN中,传入的非数字类型的参数会先转换为数字类型,再进行判断,这导致我们认为有些奇怪的结果://'str'被转换为数字类型GetNaNconsole.log(isNaN('海峡'));//true//''转为number类型得到0console.log(isNaN(''));//falseNumber.isNaN纠正了这个行为,没有参数会被转换成数字,所以它的执行结果可能更符合我们的预期。console.log(Number.isNaN('str'));//falseconsole.log(Number.isNaN(''));//falseNumber.isFinite函数类型://接收一个任意类型的可选参数,返回一个布尔结果(v?:any)=>booleanNumber.isFinite用于判断传入的参数是否为有限值。它与全局window.isFinite的关系可以类比Number.isNaN函数与isNaN的关系:全局isFinite函数会将参数转换为数字,而Number.isFinite不会。基本上,Number.isFinite(a)===(typeofa==='number'&&isFinite(a))console.log(Number.isFinite(42));//trueconsole.log(isFinite(42));//trueconsole.log(Number.isFinite('42'));//falseconsole.log(isFinite('42'));//trueNumber.isIntegerfunctiontype://接收一个任意类型的可选参数,返回一个boolean结果(v?:any)=>boolean因为JS中的数字都是双精度浮点数,我们没有办法根据类型判断一个数是否为整数。ES6新加入的Number.isInteger就是解决这个问题的辅助函数——判断一个值是否为整数。console.log(Number.isInteger('42'));//falseconsole.log(Number.isInteger(42.0));//trueconsole.log(Number.isInteger(42.1));//falseNumber.isSafeIntegerNumber.isSafeInteger与Number.isInteger相比,多了一个限制范围,即安全整数范围[Number.MIN_SAFE_INTEGER,Number.MAX_SAFE_INTEGER]。