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.

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

猜你喜欢

转载自www.cnblogs.com/donghuang/p/12332371.html
今日推荐