ES6--数值的扩展

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

  • 二进制—前缀添加0b(或0B)
  • 八进制—前缀添加0o(或0O)

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

  • Number.isFinite()—检测数值是否是有限的。
  • Number.isNaN()—检测是否是非数字。
       console.log(Number.isNaN('abc'));//false
       console.log(Number.isNaN(123));//false
       console.log(Number.isFinite(15));//true
       console.log(Number.isFinite(0.5));//true
       console.log(Number.isFinite('abc'));//false
       console.log(Number.isFinite(true));//false
       console.log(Number.isFinite(null));//false
       console.log(Number.isFinite(undefined));//false

三、Number.parseInt(), Number.parseFloat()

  • 将全局方法parseInt(), parseFloat() 移植到Number对象上面。
	   console.log(Number.parseFloat('0.8'));//0.8
       console.log(Number.parseInt(1.2));//1

四、Number.isInteger()—判断一个数值是否为整数

	   console.log(Number.isInteger(0.8));//false
       console.log(Number.isInteger(10));//true

五、Math 对象的扩展

  • ES6 在 Math 对象上新增了 17 个与数学相关的方法。所有这些方法都是静态方法,只能在 Math 对象上调用。

1.Math.trunc()–去除一个数的小数部分,返回整数部分

  • 对于非数值,Math.trunc内部使用Number方法将其先转为数值。
  • 对于空值和无法截取整数的值,返回NaN。
       console.log(Math.trunc(1.2));//1
       console.log(Math.trunc(-1.2));//-1
       console.log(Math.trunc(true));//1
       console.log(Math.trunc(null));//0
       console.log(Math.trunc(undefined));//NaN
       console.log(Math.trunc(NaN));//NaN

2.Math.sign() --判断一个数到底是正数、负数、还是零

  • 参数为正数,返回+1;
  • 参数为负数,返回-1;
  • 参数为 0,返回0;
  • 参数为-0,返回-0;
  • 其他值,返回NaN。
       console.log(Math.sign(2));//1
       console.log(Math.sign(-2));//-1
       console.log(Math.sign(0));//0
       console.log(Math.sign(null));//0
       console.log(Math.sign(undefined));//NaN

3.Math.cbrt()–计算一个数的立方根

  • 对于非数值,Math.cbrt()方法内部也是先使用Number()方法将其转为数值。
       console.log(Math.cbrt(8));//2
       console.log(Math.cbrt(true));//1
       console.log(Math.cbrt(null));//0
       console.log(Math.cbrt('abc'));//NaN

4.Math.fround()–返回一个数的32位单精度浮点数形式

六、指数运算符(**)

  • 这个运算符的一个特点是右结合,而不是常见的左结合。多个指数运算符连用时,是从最右边开始计算的。
       2 ** 3 ** 2
       // 相当于 2 ** (3 ** 2)
       let a = 1.5;
       a **= 2;
       // 等同于 a = a * a;
       let b = 4;
       b **= 3;
       // 等同于 b = b * b * b;    
       console.log(2**3);//8
       //等价于
       console.log(Math.pow(2,3));//8
  • 4
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南初️

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值