läuft Ich lerne ES6, also bitte tragen Sie mich.TypeError: Deklaration von Let Fehler in Firebug-Konsole, wenn ES6-Code
Folgendes ist der Code, der gut läuft, wenn ich einmal auf die Schaltfläche Run starte, aber beim zweiten Treffer zeigt es TypeError: redeclaration of let myArr
Fehler.
Lassen Sie mich über dieses seltsame (möglicherweise nicht) Verhalten wissen.
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);
Fehler -
Ok, aber warum, wenn ich 'let' zu' var' ändere und drücke run still, zeigt es den Fehler an (obwohl es bei der Aktualisierung weggeht) – Nesh
'Let' definierte die Variable innerhalb des Blocks. Es wäre sehr seltsam (und höchstwahrscheinlich nicht beabsichtigt), wenn Sie es in den Funktionsumfang hissen könnten, indem Sie es mit 'var' neu definieren. – ThiefMaster
Ich habe die gleiche Frage. Ich habe deine Antwort gelesen und habe etwas über "Let" recherchiert, aber es fällt mir immer noch schwer, es zu verstehen. Von dem, was Sie gesagt haben, hat er den Fehler bekommen, indem er die Variable mit 'let' definiert und dann in' var' geändert hat. In meinem Fall habe ich jedoch von Anfang an mit 'var' begonnen und trotzdem bekomme ich den gleichen Fehler, obwohl ich 'let' nicht benutze. –