私はES6を学んでいるので、我慢してください。
以下は、Runボタンを1回クリックすると正常に実行されているコードですが、2回目のヒットで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);
エラー-
ES6 許可しません これを行う(同じスコープ内のブロックスコープ変数を再宣言する):
let foo;
let foo;
また、コンソールはページをリロードするまで状態を維持するため(結局、ページのコンテキストになります)、最初に実行するときにmyArr
を定義して、2回目の実行で再定義することはできません。