• ES6:数值的扩展


    Number.isFinite() 和 Number.isNaN() 

    ES6 在 Number 对象上,新提供了 Number .isFinite()  Number.isNaN() 两个方法。


    Number.isFinite()

    Number .isFinite()用来检查一个数值是否为有限的(finite),即不是 Infinity。

    注意,如果参数类型不是数值,Number .isFinite() 一律返回  false

    1. Number.isFinite(15); // true
    2. Number.isFinite(0.8); // true
    3. Number.isFinite(NaN); // false
    4. Number.isFinite(Infinity); // false
    5. Number.isFinite(-Infinity); // false
    6. Number.isFinite('foo'); // false
    7. Number.isFinite('15'); // false
    8. Number.isFinite(true); // false

    Number.isNaN() 

    Number.isNaN()  用来检查一个值是否为 NaN

    注意:如果参数类型不是 NaNNumber.isNaN 一律返回 false

    1. Number.isNaN(NaN) // true
    2. Number.isNaN(15) // false
    3. Number.isNaN('15') // false
    4. Number.isNaN(true) // false
    5. Number.isNaN(9/NaN) // true
    6. Number.isNaN('true' / 0) // true
    7. Number.isNaN('true' / 'true') // true

    与传统方法的区别

    它们与传统的全局方法 isFinite()和 isNaN()的区别在于,传统方法先调用 Number()将非数值的值转为数值,再进行判断,而这两个新方法只对数值有效,Number.isFinite()对于非数值一律返回 falseNumber.isNaN()只有对于 NaN才返回true,非NaN一律返回false

    1. isFinite(25) // true
    2. isFinite("25") // true
    3. Number.isFinite(25) // true
    4. Number.isFinite("25") // false
    5. isNaN(NaN) // true
    6. isNaN("NaN") // true
    7. Number.isNaN(NaN) // true
    8. Number.isNaN("NaN") // false
    9. Number.isNaN(1) // false

    Number.parseInt(), Number.parseFloat() 

    ES6 将全局方法 parseInt() parseFloat(),移植到 Number对象上面,行为完全保持不变。

    这样做的目的,是逐步减少全局性方法,使得语言逐步模块化。 

    1. // ES5的写法
    2. parseInt('12.34') // 12
    3. parseFloat('123.45#') // 123.45
    4. // ES6的写法
    5. Number.parseInt('12.34') // 12
    6. Number.parseFloat('123.45#') // 123.45
    1. Number.parseInt === parseInt // true
    2. Number.parseFloat === parseFloat // true

    文章如有错误,恳请大家提出问题,本人不胜感激 。 不懂的地方可以评论,我都会一一回复

    文章对大家有帮助的话,希望大家能动手点赞鼓励,大家未来一起努力     长路漫漫,道阻且长

  • 相关阅读:
    Linux工具——vim
    博日科技招股书失效,中金公司已停止对其辅导,放弃港交所上市?
    MySQL——多表查询
    Pytest参数详解 — 基于命令行模式
    4.0 Spring与Dubbo整合原理与源码分析
    【FPGA教程案例73】基础操作3——基于FPGA的Vivado功耗估计
    Linux:文件搜索
    网络学习DAY3--TCP并发
    Mysql 以字符分割一行变多行(substring_index函数)
    Vue.js+SpringBoot开发生活废品回收系统
  • 原文地址:https://blog.csdn.net/qq_52855464/article/details/126274600