"严格使用"; 现在允许重复的属性?

And*_*hov 8 javascript firefox google-chrome strict

我刚刚发现,在最后一个Chrome 42和FF 37.0.2中,这行代码完全合法

"use strict";
var o = { p: 1, p: 2 };
Run Code Online (Sandbox Code Playgroud)

(从MDN复制粘贴)

在IE 10-11和Opera 28.0.1750中,它会按预期抛出错误.

在同一时间,

abc=0;
Run Code Online (Sandbox Code Playgroud)

导致错误(未声明的变量)如预期.

有谁知道是什么导致了这种变化?

mes*_*azs 14

这里有一张Bugzilla 门票.从我收集的内容(这里和我查找的其他页面),重复的属性在ECMAScript版本6中是合法的,与ES5相反,在严格模式下禁止它.

  • 这真的看起来像一个糟糕的糟糕的坏设计决定. (5认同)