我刚刚发现在最后一个Chrome 42和FF 37.0.2中,这行代码是完全合法的
"use strict";
var o = { p: 1, p: 2 };
(从MDN复制粘贴)
在IE 10-11和Opera 28.0.1750中,它会按预期抛出错误。
同时,
abc=0;
按预期导致错误(未声明的变量)。
有人知道造成这种变化的原因吗?
答案 0 :(得分:12)
这里有一个Bugzilla ticket。从我收集的内容(这里和我查找的其他页面),重复属性在ECMAScript版本6中是合法的,与ES5相反,在严格模式下禁止它。