ES6 – 基础学习(5: 数值扩展

二进制和八进制数值表示法

  ES6提供了二进制和八进制数值的新写法,分别前缀 0b(0B)、 0o(0O)然后跟上二进制、八进制值即可。

  二进制(Binary)表示法新写法:前缀 0b 或 0B。

  let binary = 0b010101;        // 21
  let binary2 = 0B010111;       // 23

  八进制(Octal)表示法新写法:前缀 0o 或 0O。

  let octal = 0o123;        // 83
  let octal2 = 0O1234;         // 668

  从ES5开始,严格模式下,八进制数值就不再允许用前缀0表示,ES6则进一步明确规定,八进制数值用0o前缀表示。

  // 非严格模式
  (function () {
      console.log(0o01 === 001);
  })();
  // true

  // 严格模式
  (function () {
      'use strict';
      console.log(0o01 === 001);    // Octal literals with prefix '0' are not allowed. Use '0o' prefix instead
  })();
  // Uncaught SyntaxError: Octal literals are not allowed in strict mode.

数值的验证、判断、以及转换

  ES6不仅提供了很多新的数值处理方法,同时还将之前相对零散的全局处理方法都整理到了Number对象里面。 

  数值的验证:Number.isFinite()【用于检查一个数值是否为有限的( finite),即不是 Infinity】,Number.isNaN()【用于检查一个值是否为NaN】

  数值的判断:Number.isInteger()【用于判断一个数值是否为整数】,Number.isSafeInteger()【用于判断数值是否在安全范围内】

  数值的转换:Number.parseInt(), Number.parseFloat()

 数值的验证: Number.isFinite()

原作者:益州府龙骑校尉
内容包含转载或原创内容,请勿转载
秋风荡 » ES6 – 基础学习(5: 数值扩展

发表评论

隐藏
变装