Contents
Scope bestimmt die Zugänglichkeit oder Sichtbarkeit von Variablen für JavaScript. Es gibt drei Arten von Bereichen in JavaScript:
Außerhalb einer Funktion deklarierte Variablen befinden sich im globalen Geltungsbereich. Auf globale Variablen kann in jedem anderen Bereich zugegriffen und sie geändert werden. Innerhalb einer Funktion definierte Variablen befinden sich im lokalen Geltungsbereich und sind in anderen Funktionen nicht zugänglich. Jede Funktion erstellt beim Aufruf einen neuen Gültigkeitsbereich, daher können Variablen mit demselben Namen in verschiedenen Funktionen verwendet werden.
Der Blockbereich umfasst if-Anweisungen und -Schleifen oder jeden anderen Code, der in {} eingeschlossen ist. Wenn sie aufgerufen werden, erstellen sie keinen neuen Bereich. Innerhalb eines Blockbereichs deklarierte Variablen bleiben in dem Bereich, in dem sie sich bereits befanden
Die Let-Anweisung ist blockbezogen und keine lokale Variable mit globalem Geltungsbereich, die zum Initialisieren einer Anweisung verwendet wird. Diese Anweisung kann in Funktion verwendet werden, da sie funktionsbezogen ist und einer der Hauptcharaktere der let-Anweisung darin besteht, dass sie neu zugewiesen werden kann.
Die Var-Anweisung wird auch für die Variablendeklaration verwendet und ist eine globale Variable. Mit var deklarierte Variablen sind im gesamten Programm definiert. Var sind in der gesamten Funktion definiert, jedoch nicht, wenn sie in einem Block deklariert sind, da sie nicht blockbezogen sind. Die Var-Anweisung kann neu zugewiesen werden.
Const ist Let ziemlich ähnlich, mit dem einzigen Unterschied, dass der Wert einer einmal definierten Variablen nicht mehr geändert werden kann. Wenn der Benutzer beispielsweise versucht, den Wert der const-Variablen zu ändern, erhält er eine Fehlermeldung.
Da const blockbezogen ist, bedeutet dies, dass alles, was Sie mit einer const-Variablen zu tun versuchen, nur innerhalb des Codeblocks verwendet werden kann, in dem Sie es ursprünglich geschrieben haben.
Als allgemeine Regel sollten Sie Variablen immer mit const deklarieren, wenn Sie feststellen, dass sich der Wert der Variablen ändern muss, gehen Sie zurück und ändern Sie ihn auf let.
Lesen Sie auch: Unterschied zwischen globaler und lokaler Variable
war | Lassen | konst |
Der Geltungsbereich einer var- Variablen ist der Funktionsumfang. | Der Gültigkeitsbereich einer let -Variablen ist der Blockbereich. | Der Geltungsbereich einer konstanten Variablen ist der Blockbereich. |
Es kann aktualisiert und erneut im Geltungsbereich deklariert werden. | Es kann aktualisiert, aber nicht erneut im Geltungsbereich deklariert werden. | Es kann nicht aktualisiert oder erneut im Geltungsbereich deklariert werden. |
Es kann ohne Initialisierung deklariert werden. | Es kann ohne Initialisierung deklariert werden. | Es kann nicht ohne Initialisierung deklariert werden. |
Es kann ohne Initialisierung darauf zugegriffen werden, da sein Standardwert „undefiniert“ ist. | Ohne Initialisierung kann nicht darauf zugegriffen werden, da es einen Fehler zurückgibt. | Ohne Initialisierung kann nicht darauf zugegriffen werden, da es ohne Initialisierung nicht deklariert werden kann. |
Es ist eine alte Art, Variablen zu deklarieren. | Es ist eine neue Methode zum Deklarieren von Variablen, die in ES6 eingeführt wurde. | Es ist auch eine neue Art, Variablen zu deklarieren, die in ES6 eingeführt wird. |
Einleitung: Die Begriffe "Freeway" und "Highway" werden oft synonym verwendet, aber es gibt subtile Unterschiede…
Burritos und Enchiladas sind zwei beliebte Gerichte der mexikanischen Küche, die oft miteinander verwechselt werden.…
In der Zellbiologie spielen Replikation und Transkription entscheidende Rollen im genetischen Prozess. Beide sind Mechanismen,…
Osmose und Diffusion sind zwei grundlegende Prozesse, die in der Zellbiologie und Chemie eine entscheidende…
Einleitung: Die Evolution der mobilen Kommunikationstechnologie hat einen bedeutenden Meilenstein erreicht, als 4G (LTE) zu…
Einleitung: JPG und PNG sind zwei gängige Bildformate, die im Internet weit verbreitet sind. Obwohl…