Was ist der Unterschied zwischen "let" und "const" ECMAScript 6?
Frage ich mich, was ist der Unterschied zwischen let und const in ECMAScript 6. Beide sind block-Gültigkeitsbereich, als Beispiel den folgenden code:
const PI = 3.14;
console.log(PI);
PI = 3;
console.log(PI);
const PI = 4;
console.log(PI);
var PI = 5;
console.log(PI);
In ECMAScript 5 ist die Ausgabe:
3.14
3.14
3.14
3.14
Aber in ECMAScript 6 wird es sein:
3.14
3
4
5
Frage ich mich, warum ECMAScript-6 ermöglicht die änderung der const-Wert, die Frage ist, warum sollten wir 'const' jetzt? wir können 'lassen' statt?
Hinweis: jsbin können für Testzwecke verwendet werden, wählen Sie JavaScript laufen ECMAScript-5-code und Traceur es mit ECMAScript-6-Funktionen.
InformationsquelleAutor der Frage Hazem Hagrass | 2014-03-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Was Sie sehen, ist nur eine Umsetzung Fehler. Nach der ES6 spec wiki auf
const
const
ist:Es soll nur gelesen werden, so wie es derzeit ist. Das ES6 Umsetzung von
const
im Traceur und Kontinuum sind buggy (wahrscheinlich nur übersehen)Hier ein Github Problem bezüglich der Traceur nicht Implementierung von
const
InformationsquelleAutor der Antwort Some Guy
Den Unterschied zwischen
let
undconst
ist, dass, wenn Sie bind ein Wert/Objekt auf eine variable mitconst
Sie können nicht zuweisen, um die variable. Beispiel:Beachten Sie, dass
const
nicht etwas unveränderliches.Wahrscheinlich der beste Weg, um ein Objekt (flach) unveränderlich im moment ist die Verwendung
Object.freeze()
.InformationsquelleAutor der Antwort Thomas Foster
lassen
lassen ist äußerst nützlich für die überwiegende Mehrheit der code. Es kann erheblich verbessern Sie Ihre code-Lesbarkeit und verringert die chance auf einen Fehler bei der Programmierung.
const
const ist eine gute übung für Lesbarkeit und Wartbarkeit und vermeidet die Verwendung von Magie Literale z.B.
const Deklarationen initialisiert werden müssen
InformationsquelleAutor der Antwort Pardeep Jain