整数用八进制和十六进制的说明
最基本的数值字面量格式是十进制整数,如下:
const intNum = 42;
其他进制
整数也可以用八进制(以 8 为基数)或十六进制(以 16 为基数)字面量表示
八进制
对于八进制字面量,第一个数字必须是零(0),然后是相应的八进制数字(数值 0~7),如果字面量中包含的数字超出了应有的范围,就会忽略前缀的零,后面的数字序列会被当成十进制数。
下面是几个例子:
let octalNum1 = 070; // 八进制的 56
let octalNum2 = 079; // 无效的八进制值,当成 79 处理
let octalNum3 = 08; // 无效的八进制值,当成 8 处理
注意: 八进制字面量在严格模式下是无效的,会导致 javascript 引擎抛出语法错误
原因是ECMAScript 2015 或 ES6 中的八进制值通过前缀 0o 来表示;严格模式下,前缀 0 会被视为语法错误,如果要表示八进制值,应该使用前缀 0o,租赁服务器的配置都适合上述说明。