[关闭]
@Wangww0925 2019-08-20T08:16:51.000000Z 字数 1988 阅读 214

ES6中的数字操作

ES6


前端编程工作中对数字的操作是非常多的,如果你对数字操作的不好,就很难写出令人惊奇的程序,所以这里重点学习一下ES6新增的一些数字操作方法。

二进制和八进制

二进制和八进制数字的声明并不是ES6的特性,我们只是做一个常识性的回顾,因为很多新人小伙伴会把他们当成字符串或者不知道是什么。

二进制声明:
二进制的英文单词是Binary,二进制的开始是0(零),然后第二个位置是B(注意这里大小写都可以实现),然后跟上二进制的值就可以了。

  1. let binary = 0B010101;
  2. console.log(binary); // 21

八进制声明:
八进制的英文单词是Octal,也是以0(零)开始的,然后第二个位置是O(欧)(注意这里大小写都可以实现),然后跟上八进制的值就可以了。

  1. let octal = 0o666;
  2. console.log(octal); // 438
  3. console.log(0o777); // 511

判断是否是数字 Number.isFinite( xx )

可以使用Number.isFinite() 来进行数字验证,只要是数字,不论是浮点型还是整形都会返回true,其他时候会返回false。

  1. console.log(Number.isFinite(11/4)); //true
  2. console.log(Number.isFinite(11)); //true
  3. console.log(Number.isFinite('www')); //false
  4. console.log(Number.isFinite(NaN)); //false
  5. console.log(Number.isFinite(undefined)); //false
  6. console.log(Number.isFinite(null)); //false

NaN验证

NaN是特殊的非数字,可以使用Number.isNaN()来进行验证。下边的代码控制台返回了true。

  1. console.log(Number.isNaN(NaN)); //true
  2. console.log(Number.isNaN(11/4)); // false
  3. console.log(Number.isNaN(11)); // false
  4. console.log(Number.isNaN('www')); // false
  5. console.log(Number.isNaN(undefined)); // false
  6. console.log(Number.isNaN(null)); // false

判断是否为整数 Number.isInteger(xx)

  1. console.log(Number.isInteger(123)); // true
  2. console.log(Number.isInteger(123.1)); // false

整数转换 Number.parseInt(xxx)

  1. console.log(Number.parseInt('9.18')); // 9

浮点型转换 Number.parseFloat(xxx)

  1. console.log(Number.parseFloat('9.18')); // 9.18

整数取值范围操作

整数的操作是有一个取值范围的,它的取值范围就是2的53次方。我们先用程序来看一下这个数字是什么.

  1. // 最大值
  2. let a = Math.pow(2, 53) - 1;
  3. console.log(a); // 9007199254740991
  4. // 最小值
  5. let b = -(Math.pow(2, 53) - 1);
  6. console.log(b); // -9007199254740991

在我们计算时会经常超出这个值,所以我们要进行判断,ES6提供了一个常数,叫做最大安全整数,以后就不需要我们计算了。

最大安全整数

  1. consolec .log(Number.MAX_SAFE_INTEGER); // 9007199254740991

最小安全整数

  1. console.log(Number.MIN_SAFE_INTEGER); // -9007199254740991

安全整数判断isSafeInteger( )

  1. console.log(Number.isSafeInteger(Math.pow(2, 53)-1)); // true
  2. console.log(Number.isSafeInteger(Math.pow(2, 53))); // false

总结: ES6数字的操作,方法很多,很零散,需要经常复习或者实战中慢慢熟悉。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注