Heim > Web-Frontend > Front-End-Fragen und Antworten > Was sind die Unterschiede zwischen let und const in es6?

Was sind die Unterschiede zwischen let und const in es6?

青灯夜游
Freigeben: 2022-04-19 16:29:23
Original
5095 Leute haben es durchsucht

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.

Was sind die Unterschiede zwischen let und const in es6?

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; // 报错,常量不可以改变
Nach dem Login kopieren

③ 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
Nach dem Login kopieren

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
Nach dem Login kopieren

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>
Nach dem Login kopieren

Ergebnis: Es wird ein Fehler gemeldet

Was sind die Unterschiede zwischen let und const in es6?

③ 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!

Verwandte Etiketten:
es6
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage