Unterschied: 1. Let deklariert Variablen, deren Werte und Typen geändert werden können, während const Konstanten deklariert, die nicht geändert oder neu zugewiesen werden können. 2. Let-Variablen müssen nach der Deklaration nicht initialisiert werden, während const Konstanten sind deklariert, muss es sofort initialisiert werden. 3. const zeigt immer auf eine feste Adresse, während let nicht festgelegt ist.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, ECMAScript Version 6, Dell G3-Computer.
let und const sind zwei neue Schlüsselwörter, die in es6 zum Deklarieren von Variablen eingeführt wurden. Obwohl wir weiterhin die weithin bekannte Variable var verwenden können, stehen uns jetzt zwei leistungsfähigere Tools zur Verfügung: let und const.
Der Unterschied zwischen let und const in es6
① Let deklariert eine Variable, und ihr Wert und Typ kann geändert werden; const deklariert eine Konstante, und weder ihr Wert noch ihr Typ können geändert werden.
② Let-Variablen müssen nach der Deklaration nicht initialisiert werden, während konstante Konstanten nach der Deklaration sofort initialisiert werden müssen und später keinen Wert zugewiesen werden können.
const i ; // 报错,一旦声明,就必须立即初始化 const j = 5; j = 10; // 报错,常量不可以改变
③ const zeigt immer auf eine feste Adresse, während let nicht festgelegt ist
const foo = {}; // 为 foo 添加一个属性,可以成功 foo.prop = 123; foo.prop // 123 // 将 foo 指向另一个对象,就会报错 foo = {}; // TypeError: "foo" is read-only
Im obigen Code speichert die Konstante foo eine Adresse, und diese Adresse zeigt auf ein Objekt. Das Einzige, was unveränderlich ist, ist diese Adresse, das heißt, Sie können foo nicht auf eine andere Adresse verweisen, aber das Objekt selbst ist veränderbar, sodass Sie ihm immer noch neue Eigenschaften hinzufügen können.
Hinweis:
Bei Variablen vom zusammengesetzten Typ wie Arrays und Objekten verweist der Variablenname nicht auf die Daten, sondern auf die Adresse, an der sich die Daten befinden. const garantiert nur, dass die Adresse, auf die der Variablenname zeigt, unverändert bleibt, garantiert jedoch nicht, dass die Daten an dieser Adresse unverändert bleiben. Sie müssen daher sehr vorsichtig sein, wenn Sie eine Variable vom zusammengesetzten Typ als Konstante deklarieren.
const arr = []; // 报错,[1,2,3]与[]不是同一个地址 arr = [1,2,3]; const arr = []; // 不报错,变量名arr指向的地址不变,只是数据改变 arr[0] = 1; arr[1] = 2; arr[2] = 3; console.log(arr.length); // 输出:3
Die Ähnlichkeiten zwischen let und const in es6:
① Nur gültig innerhalb des Blockebenenbereichs, in dem sich die Deklaration befindet.
② Es gibt keine Deklarationsförderung und es gibt eine vorübergehende Totzone, die erst nach der deklarierten Position genutzt werden kann.
<script type="text/javascript"> console.log(dadi); let dadi = 569; </script>
Ergebnis: Es wird ein Fehler gemeldet
③ Kann nicht wiederholt werden.
【Verwandte Empfehlungen: Javascript-Video-Tutorial, Web-Frontend】
Das obige ist der detaillierte Inhalt vonWas sind die Unterschiede zwischen let und const in es6?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!