Was ist Umfang in JavaScript?
In JavaScript wird der Umfang durch lockige Klammern definiert. Es definiert einen Codeblock, der zusammen ausgeführt werden muss. JavaScript hat zwei Arten von Scopes:
Funktionskope: Jede Variable in JavaScript, die in einer Funktion verwendet wurde var ist funktionsübergreifend. Seine Sichtbarkeit beschränkt sich auf die Definition der Funktion und kann nicht von überall außerhalb der Funktion zugegriffen werden:
Funktion showMessage ()Block-Scope: Ein Codeblock in JavaScript wird durch lockige Klammern definiert. Diese Art von Umfang hilft uns dabei, zwischen den drei Methoden zur Deklarierung von Variablen prominent zu unterscheiden:
Im Folgenden finden Sie ein Beispiel, in dem wir Variablen mit VAR deklariert haben, let und konstant in einem IF -Block und haben sie dann an der Konsole angemeldet:
Wenn wahr)Alle Variablen wurden ohne Fehler an der Konsole angemeldet, da sie aus demselben Block angemeldet wurden.
Wenn wir jedoch versuchen, sie von außerhalb des IF-Blocks zu protokollieren, wird der unten erwähnte Fehler angezeigt:
Wenn wahr)So verwenden Sie VAR, um eine Variable in JavaScript zu deklarieren
Vor ECMAScript 2016 var war die einzige Methode, um eine Variable in JavaScript zu deklarieren, es war jedoch mehrere Probleme damit verbunden, sodass neue Methoden eingeführt wurden, die zur Deklarierung von Variablen verwendet werden konnten. Wir werden zuerst verstehen var Und dann werden wir über diese Probleme sprechen:
Umfang von var: Der variable Umfang bedeutet im Grunde genommen, wo die Variable zur Verwendung zur Verfügung steht. Variablen, die mit dem deklariert werden var Schlüsselwort haben entweder einen globalen oder lokalen Umfang.
Variablen, die außerhalb des Funktionsblocks deklariert werden var einen globalen Umfang haben. Globaler Umfang bedeutet, dass eine Variable verfügbar ist, die überall im Fenster verwendet werden kann.
Wenn die Variable in einer Funktion deklariert wird, wird sie funktionsübergreifend, was bedeutet, dass sie nur in der Funktion verwendet werden kann:
Um weiter zu verstehen, sehen Sie sich das folgende Beispiel an:
Funktion showMessage ()Hier das Nachricht ist Funktion abgeschottet, sodass nicht außerhalb der Funktion zugegriffen werden kann. Also, wenn wir das tun:
Funktion showMessage ()Dies gibt uns einen Fehler, der darauf zurückzuführen ist Nachricht ist außerhalb der Funktion nicht verfügbar.
var außerhalb eines For-Schleife: Die Variable "ich" kann von außen von außen zugreifen.
für (var i = 0; i < 5; i++)VAR-Variablen können neu deklariert und aktualisiert werden: In JavaScript -Variablen mit deklariert mit var Das Schlüsselwort kann im selben Bereich neu eingebaut und aktualisiert werden:
Funktion showMessage ()So verwenden Sie eine Variable in JavaScript: Deklarieren Sie eine Variable: Der lassen Schlüsselwort wird jetzt bevorzugt var für variable Erklärungen; Es kommt mit ein paar Verbesserungen über var.
Lassen Sie Block Scoped: In JavaScript ist ein Codeblock die Sammlung von Anweisungen, die durch ein Paar lockiger Klammern begrenzt sind . Eine Variable, die mit dem deklariert wurde lassen Das Schlüsselwort ist nur in diesem Block verfügbar und kann nicht von außen zugegriffen werden:
Wenn wahr)Wenn wir das verwenden Nachricht Außerhalb des Blocks, in dem er definiert wurde, gibt es einen Fehler zurück. Dies liegt daran, dass die Variablen blockiert werden können.
Außerhalb eines Verschleifs: Das folgende Beispiel, das das demonstrieren lassen Variable Ausgabe verwendet für Schleife:
für (lass i = 0; i < 5; i++)Lassen Sie die können aktualisiert werden, aber nicht neu deklariert werden: Eine Variable mit deklariert mit lassen kann genau wie in seinem Umfang aktualisiert werden wie var, aber nicht wie var, Es kann nicht neu eingebracht werden:
lass message = 'hi von LinuxHint';Die Konsole ist völlig leer und gibt keine Fehler zurück. Diese Aussagen geben einen Fehler zurück:
lass message = 'hi von LinuxHint';Jedoch die gleiche Variable in einem anderen Umfang neu definieren lassen Gibt keinen Fehler zurück:
lass message = 'hi von LinuxHint';Der lassen Das Schlüsselwort behandelt diese beiden Variablen als unterschiedlich, wenn sie sich in verschiedenen Bereichen befinden, sodass es keinen Fehler zurückgibt. Dieses Merkmal der lassen Schlüsselwort macht es zu einer besseren Wahl als var. Beim Benutzen lassen, Sie können Variablennamen in verschiedenen Bereichen wiederverwenden, ohne sich Gedanken darüber zu machen, ob Sie diesen Variablennamen zuvor verwendet haben.
So verwenden Sie Const, um die Variable in JavaScript zu deklarieren
Die Variablen, die mit dem deklariert wurden Const Schlüsselwort haben konstante Werte. Dies bedeutet, dass ihre Werte nicht geändert/neu zugewiesen werden können. Ähnlich wie die mit der deklarierten Variablen lassen Schlüsselwort, die mit dem deklarierten Variablen var Schlüsselwort werden ebenfalls blockiert.
const kann nicht neu deklariert oder neu zugewiesen werden: Die mit dem Schlüsselwort deklarierten Variablen Const kann nicht im selben Bereich neu eingebracht oder neu zugewiesen werden. Wenn wir also eine Variable mit CONT -Keyword deklariert haben, können wir dies nicht tun:
const message = 'hi von LinuxHint';Wir werden dies auch nicht können:
const message = 'hi von LinuxHint';Jede Variable, die mit dem deklariert wird Const Das Schlüsselwort muss zum Zeitpunkt seiner Erklärung initialisiert werden.
Dieses Verhalten der Const Schlüsselwort ändert sich irgendwie, wenn es um Objekte geht. Während das deklarierte Objekt nicht aktualisiert werden kann, können seine Eigenschaften geändert werden
Also, wenn wir ein Objekt mit deklarieren Const:
const user =Während dies nicht getan werden kann:
user =Das kann gemacht werden:
Benutzer.name = "harry";Dies wird den Wert des Werts ändern Benutzer.Name ohne Fehler zurückzugeben.
Abschließende Prüfung
Variable Aussage | Funktionscope | Block-Scope | Neu definierbar |
---|---|---|---|
var | ✅ | ❌ | ✅ |
lassen | ❌ | ✅ | ✅ |
Const | ❌ | ✅ | ❌ |
Abschluss
Es ist im Allgemeinen eine gute Praxis, die Verwendung zu vermeiden var Variablen in JavaScript zu deklarieren, da der Funktionsbereich verwirrend ist und nicht so offensichtlich ist wie der Blockbereich. Der lassen Und Const Schlüsselwörter ermutigen Entwickler, bessere Codierungspraktiken zu verwenden. Sie sollten im Allgemeinen verwenden lassen Für die Variablen, die Sie neu zuweisen und die verwenden müssen Const Schlüsselwort für alle anderen Variablen. Dieser Artikel erklärt alle drei Variablentypen mit Beispielen gründlich.