这是我以前从未见过的错误。
这是一个简单的复制品:https://jsfiddle.net/jakelauer/qr0ysmst/3/
const x = myVar => {
console.log(myVar);
for(let myVar of [1,2,3]){
console.log(myVar);
}
};
x(10);
Chrome中的输出:10
,1
,2
,3
Safari中的输出:SyntaxError: Cannot declare a let variable twice: 'myVar'.
想法?这是Safari中的错误吗?
编辑 - 值得注意的是,我不会故意这样做。我注意到它是因为我使用ASP.NET捆绑和放大器缩小系统,该系统就这样做了(所以我的网站在Safari中破了)
编辑2 - 有趣的是,这适用于两种浏览器
let x = 10;
for(let x of [1,2,3])
{
console.log(x);
}