"use strict";现在允许重复属性?
"use strict"; now allows duplicated properties?
刚发现在最后Chrome42和FF 37.0.2这行代码是完全合法的
"use strict";
var o = { p: 1, p: 2 };
(从 MDN 复制粘贴)
在 IE 10-11 和 Opera 28.0.1750 中它按预期抛出错误。
同时,
abc=0;
如预期的那样导致错误(未声明的变量)。
有人知道是什么导致了这种变化吗?
这里有一个 Bugzilla ticket。从我收集的信息(这里和我查过的其他页面)来看,重复属性在 ECMAScript 版本 6 中是合法的,与 ES5 相反,在严格模式下它是被禁止的。
刚发现在最后Chrome42和FF 37.0.2这行代码是完全合法的
"use strict";
var o = { p: 1, p: 2 };
(从 MDN 复制粘贴)
在 IE 10-11 和 Opera 28.0.1750 中它按预期抛出错误。
同时,
abc=0;
如预期的那样导致错误(未声明的变量)。
有人知道是什么导致了这种变化吗?
这里有一个 Bugzilla ticket。从我收集的信息(这里和我查过的其他页面)来看,重复属性在 ECMAScript 版本 6 中是合法的,与 ES5 相反,在严格模式下它是被禁止的。