【发布时间】:2016-03-25 07:44:56
【问题描述】:
为什么JavaScript strict mode 中不允许使用八进制数字文字?有什么害处?
"use strict";
var x = 010; //Uncaught SyntaxError: Octal literals are not allowed in strict mode.
<h1>Check browser console for errors</h1>
如果开发人员需要使用Octals(可能会错误地更改numbers meaning),是否有解决方法?
【问题讨论】:
-
Related - 有解决方法。没有解释为什么它们是不允许的。
-
为什么不明显?它会给人们带来很多困惑,因为在正常生活中,将前导零添加到以 10 为底的数字不会改变其值(例如,从 10 到 8。)
-
Here's another question 与八进制如何导致语言不一致 - 接受的答案也描述了它们被删除的原因。
-
@student 不是很大的损失,是吗?除了 Unix 文件权限,我认为这些天没有人使用八进制。
-
@student 这是人们想到的唯一使用八进制的情况,因为它是 3 位分组的(例如
chmod 644 file)。我很想看看过去 10 年(可能更多)的任何其他流行用例。
标签: javascript ecmascript-5 octal strict-mode