我正在学习ES6,请耐心等待。
以下是运行正常的代码,如果我单击运行按钮一次,但在第二次点击时它会开始显示TypeError: redeclaration of let myArr
错误。
让我知道这种奇怪的(可能不是)行为。
let myArr = [34,45,67,2,67,1,5,90];
let evenArr = [];
let oddArr = [];
myArr.forEach(x => {
if (x % 2 === 0) {
evenArr.push(x);
} else {
oddArr.push(x);
}
});
console.log(evenArr);
console.log(oddArr);
错误 -
答案 0 :(得分:9)
ES6 does not allow你这样做(在同一范围内重新声明一个块范围的变量):
let foo;
let foo;
由于控制台保持状态直到你重新加载页面(毕竟你在页面的上下文中),第一次运行它时你定义myArr
所以你不能在第二次运行时重新定义它。