二进制和八进制数值表示法
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.