In JavaScript können Sie Variablen mit let, var und const deklarieren. Diese Schlüsselwörter mögen ähnlich erscheinen, weisen jedoch wesentliche Unterschiede auf, die sich erheblich auf das Verhalten Ihres Codes auswirken können. In diesem Artikel erklären wir die Unterschiede zwischen ihnen und helfen Ihnen zu verstehen, wann Sie sie verwenden sollten.
var | lassen | const |
---|---|---|
Eingeführt in: Ist seit den Anfängen von JavaScript verfügbar. | Eingeführt in: Hinzugefügt in ES6 (ECMAScript 2015). | Eingeführt in: Hinzugefügt in ES6 (ECMAScript 2015). |
Geltungsbereich: Funktionsumfang. Auf eine var-Variable kann überall in der Funktion zugegriffen werden, in der sie deklariert ist. | Geltungsbereich: Blockbezogen. Auf eine let-Variable kann nur innerhalb des Blocks {} zugegriffen werden, in dem sie deklariert ist. | Geltungsbereich: Blockbezogen, genau wie let. |
Hebeverhalten: Var-Variablen werden gehisst und können verwendet werden, bevor sie deklariert werden (obwohl sie undefiniert sind). | Hebeverhalten: Variablen werden gehisst, aber nicht initialisiert, sodass Sie sie nicht vor der Deklaration verwenden können. | Hebeverhalten: Ähnlich wie let werden const-Variablen gehisst, aber nicht initialisiert, daher müssen sie vor der Verwendung deklariert werden. |
Neudeklaration: Sie können eine var-Variable im gleichen Bereich ohne Fehler neu deklarieren. | Neudeklaration: Sie können eine Let-Variable im selben Bereich nicht erneut deklarieren. | Neudeklaration: Sie können eine const-Variable nicht erneut deklarieren, ähnlich wie bei let. |
Neuzuweisung: Mit var deklarierte Variablen können neu zugewiesen werden. | Neuzuweisung: Mit let deklarierte Variablen können auch neu zugewiesen werden. | Neuzuweisung: Mit const deklarierte Variablen können nicht neu zugewiesen werden; sie sind konstant. |
Hier ist ein Beispiel, das zeigt, wie sich var, let und const unterschiedlich verhalten:
function userDetails(username) { if (username) { console.log(salary); // Output: undefined (due to hoisting) console.log(age); // Error: ReferenceError: Cannot access 'age' before initialization console.log(country); // Error: ReferenceError: Cannot access 'country' before initialization let age = 30; var salary = 10000; const country = "USA"; // Trying to reassign const // country = "Canada"; // Error: Assignment to constant variable. } console.log(salary); // Output: 10000 (accessible due to function scope) console.log(age); // Error: age is not defined (due to block scope) console.log(country); // Error: country is not defined (due to block scope) } userDetails("John");
Erläuterung des Beispiels:
Höhen mit var: Die mit var deklarierte Gehaltsvariable wird an den Anfang der Funktion gehoben. Aus diesem Grund können Sie vor der Deklaration darauf zugreifen, obwohl sein Wert bis zur Zuweisung undefiniert ist.
Heben mit let und const: Sowohl Alters- als auch Ländervariablen werden ebenfalls gehisst, aber im Gegensatz zu var werden sie nicht initialisiert. Dies bedeutet, dass Sie vor ihrer Deklaration nicht auf sie zugreifen können, was zu einem ReferenceError führt.
Blockumfang: Nach dem if-Block ist das Gehalt weiterhin zugänglich, da die Variable einen Funktionsumfang hat. Allerdings sind sowohl das Alter (deklariert mit let) als auch das Land (deklariert mit const) blockbezogen, sodass außerhalb des Blocks nicht auf sie zugegriffen werden kann.
Neuzuweisung mit const: Mit const deklarierte Variablen können nicht neu zugewiesen werden. Im Beispiel würde der Versuch, den Wert des Landes zu ändern, zu einem Fehler führen.
Verwenden Sie let, wenn Sie eine Variable benötigen, die neu zugewiesen werden kann, aber nur innerhalb eines bestimmten Codeblocks zugänglich sein soll. Dies ist nützlich für Schleifenzähler, Bedingungen oder jede Variable, die geändert wird, aber nicht außerhalb ihres Blocks existieren muss.
Verwenden Sie var in Situationen, in denen Sie eine Variable benötigen, die in einer Funktion zugänglich sein sollte, obwohl dies in modernem JavaScript aufgrund der Einführung von let und const weniger üblich ist.
Verwenden Sie const, wenn Sie eine Variable deklarieren möchten, die niemals neu zugewiesen werden sollte. Dies ist ideal für Konstanten wie Konfigurationswerte oder feste Daten, die im gesamten Code gleich bleiben sollten.
Das Verständnis der Unterschiede zwischen var, let und const ist für das Schreiben von modernem, effizientem JavaScript unerlässlich. let und const werden in modernem Code im Allgemeinen gegenüber var bevorzugt, wobei const die erste Wahl für Variablen ist, die nicht neu zugewiesen werden sollten. Durch die Wahl des richtigen Schlüsselworts können Sie klareren, zuverlässigeren Code schreiben, der weniger anfällig für Fehler ist.
Durch die Verwendung von const für Werte, die sich nicht ändern sollten, let für Variablen, die sich innerhalb eines Blocks ändern können, und durch die Vermeidung von var in den meisten Fällen wird Ihr JavaScript-Code sicherer und einfacher zu verwalten.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3