web-dev-qa-db-ja.com

TypeError:ES6コードを実行している場合のFirebugコンソールでのletエラーの再宣言

私は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);

エラー-

redelaration of let error

10
Nesh

ES6 許可しません これを行う(同じスコープ内のブロックスコープ変数を再宣言する):

let foo;
let foo;

また、コンソールはページをリロードするまで状態を維持するため(結局、ページのコンテキストになります)、最初に実行するときにmyArrを定義して、2回目の実行で再定義することはできません。

10
ThiefMaster