• 数值的扩展


    概述

    ES6提供了许多新的数值的扩展

    二进制和八进制表示法

    二进制使用前缀0b或0B,八进制使用前缀0o或0O

    ex:

    0b111110111 === 503 // true
    0o767 === 503 // true
    

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

    ex:

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

    Number

    1.Number.isFinite()用来检查一个数值是否为有限的(finite),对于非数值一律返回false。

    2.Number.isNaN()用来检查一个值是否为NaNNumber.isNaN()只有对于NaN才返回true,非NaN一律返回false。

    以上两个方法与传统的全局方法isFinite()isNaN()的区别在于,传统全局方法先调用Number()将非数值的值转为数值,再进行判断,而以上两个新方法只对数值有效。

    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
    

    3.ES6 将全局方法parseInt()parseFloat(),移植到Number对象上面,Number.parseInt(),Number.parseFloat()行为完全保持不变。这样做的目的,是逐步减少全局性方法,使得语言逐步模块化.

    // ES5的写法
    parseInt('12.34') // 12
    parseFloat('123.45#') // 123.45
    
    // ES6的写法
    Number.parseInt('12.34') // 12
    Number.parseFloat('123.45#') // 123.45
    
    Number.parseInt === parseInt // true
    Number.parseFloat === parseFloat // true
    

    4.Number.isInteger()用来判断一个值是否为整数。但是注意15和15.0被视为同一个值。

    Number.isInteger(25) // true
    Number.isInteger(25.0) // true
    Number.isInteger(25.1) // false
    Number.isInteger("15") // false
    Number.isInteger(true) // false
    

    Math对象

    1.Math.trunc()

    Math.trunc方法用于去除一个数的小数部分,返回整数部分。对于非数值,先用Number()方法转化为数值,对于空值和无法截取整数的值,返回NaN

    ex:

    Math.trunc(4.1) //4
    Math.trunc(-4.1) //-4
    
    Math.trunc('3.1415') //3
    
    Math.trunc(NaN) //NaN
    Math.trunc('foo') //NaN
    Math.trunc() //NaN
    

    2.Math.sign()

    Math.sign()方法判断一个数是正数,负数,还是0.非数值先转换为数值

    • 参数为正数,返回+1
    • 参数为负数,返回-1
    • 参数为0,返回0
    • 参数为-0,返回-0
    • 其他值,返回NaN
    Math.sign(-5) // -1
    Math.sign(5) // +1
    Math.sign(0) // +0
    Math.sign(-0) // -0
    Math.sign(NaN) // NaN
    Math.sign('9'); // +1
    Math.sign('foo'); // NaN
    Math.sign();      // NaN
    

    3.Math.cbrt()

    该方法用于计算一个数的立方根。同样,非数值先转换为数值。

    参考资料

    1.阮一峰《ES6入门》

      

  • 相关阅读:
    258. Add Digits 数位相加到只剩一位数
    7. Reverse Integer 反转整数
    9. Palindrome Number 回文数的判断
    824. Goat Latin山羊拉丁文
    819. Most Common Word 统计高频词(暂未被禁止)
    Angular 2 模板语法
    HTML DOM Style opacity 属性
    Basic concepts (C language) – C 中文开发手册
    JavaScript手册 | JS Array 对象中的fill()方法
    HTML <form> 标签
  • 原文地址:https://www.cnblogs.com/helloluo/p/7504286.html
Copyright © 2020-2023  润新知