ES6提供了二进制和八进制数值的新的写法,分别用前缀0b
(或0B
)和0o
(或0O
)表示。
0b111110111 === 503 // true 0o767 === 503 // true
从ES5开始,在严格模式之中,八进制就不再允许使用前缀0
表示,ES6进一步明确,要使用前缀0o
表示。
// 非严格模式 (function(){ console.log(0o11 === 011); })() // true // 严格模式 (function(){ ‘use strict‘; console.log(0o11 === 011); })() // Uncaught SyntaxError: Octal literals are not allowed in strict mode.
如果要将0b
和0o
前缀的字符串数值转为十进制,要使用Number
方法。
Number(‘0b111‘) // 7 Number(‘0o10‘) // 8
原文:https://www.cnblogs.com/myitnews/p/12188960.html