5
私はES6を学習していますので、どうかお願いします。私は実行ボタンを1回クリックすると、次のTypeError:ES6コードを実行している場合、Firebugコンソールのletエラーの再宣言
は、細かい実行されているコードですが、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);
エラー -
しかし、私が 'let'を' var'に変更してヒットしても、エラーを表示しているのはなぜですか(リフレッシュしなくても) – Nesh
'let'はブロック内の変数を定義します。 'var'を使って再定義することで関数のスコープに持ち込むことができれば、それは非常に奇妙な(そして意図していない可能性が高い)でしょう。 – ThiefMaster
私は同じ質問があります。私はあなたの答えを読んで、 'let 'について少しの研究をしましたが、私はまだそれを理解するのが難しいです。あなたが言ったところでは、変数を 'let'で定義し、それを' var'に変更することでエラーになりました。しかし、私の場合は、最初から 'var'で始まっていますが、私は' let'を使用していなくても同じエラーが出ます。 –