ES6 10数值的扩展改进

 
 要点:1.数值扩展 2.Math扩展

 

 一.数值的扩展
 1.ES6明确二进制、八进制和十六进制分别用0b、0o、0x作为前缀
console.log(Number('0b11'));
console.log(Number('0o11'));
console.log(Number('0x11'));

  

2.ES6提供了Number.isFinitel()、Number.isNaN()判断无穷大和NaN
// 非数值为false,数值为true
console.log(Number.isFinite(100));
// NaN为true,其余为false
console.log(Number.isNaN(NaN));

  

 3.ES6提供了Number.parseInt()、Number.parseFloat()转换整型和浮点型
console.log(Number.parseInt('5.55a'));
console.log(Number.parseFloat('5.555b'));

  

 4.ES6提供Number.isInteger(),来判断参数是否是一个整型
console.log(Number.isInteger(10));

 

 5.ES6提供了一个常量,值特别小,用于判断是否得到正确的结果

console.log(Number.EPSILON);
console.log(Number.EPSILON.toFixed(30));  //直观的看
console.log((0.1+0.2-0.3)<Number.EPSILON)

  

 6.ES6+新增了一个指数运算符**,并且可以进行赋值运算
console.log(2**4);  //16,4个2相乘
let num=2;
num**=5;
console.log(num);  //32,5个2相乘

 

 二、Math扩展
 1.ES6对Math对象新增了一些方法.trunc()、.sign()、.cbrt()、.clz32();
 2. .imul()、.fround()、.hypot()、.expm1()、.log1p()、.log10()、.log2();
 console.log(Math.trunc(5.55))  //去掉小数部分
 console.log(Math.sign(-5)) //判断是否为正、负、0还是NaN
 console.log(Math.cbrt(2)) //求出一个值的立方根
 console.log(Math.clz32(1)) //求一个数的32位二进制
 console.log(Math.imul(2,-4)) //两个数整数形式相乘的结果带符号
 console.log(Math.fround(1.555)) //求一个数单精度浮点形式
 console.log(Math.hypot(3,4)) //求出所有参数平方和的平方根
 console.log(Math.expm1(-1)) //返回Math.exp(x)-1
 console.log(Math.log1p(1)) //求In(1+x),Math.log(1+x)
 console.log(Math.log10(1)) //求10为底的x的对数
 console.log(Math.log2(3)) //求2为底的x的对数

 

posted @ 2021-11-25 19:32  翟莹萍  阅读(30)  评论(0编辑  收藏  举报