Var Vs Lass Javascript

| | |

Mit der Veröffentlichung von ECMAScript6 (ES6) wurden der JavaScript-Sprache neue Funktionen hinzugefugt. Eine solche Funktion beeinflusst, wie wir Variablen deklarieren. Mit der Hinzufugung von let und const kamen alle möglichen Fragen zur Verwendung der einzelnen Variablendeklarationen auf.

In In diesem Beitrag sprechen wir uber jede der Optionen in Bezug auf ihre Definition und Verwendung in der JavaScript-Umgebung.

Pre-ES6: Var

Vor der Veröffentlichung von ES6 wurde die Das Schlusselwort zum Deklarieren von Variablen war var.

Vars können auch ohne Fehler neu deklariert und aktualisiert werden.

Das erste Problem mit var ist offensichtlich: Umdeklarationen können Fehler in Ihrem Code verursachen, wenn einer Variablen bereits der gleiche Name zugewiesen wurde. Es kann unbeabsichtigte Folgen haben, wenn etwas neu deklariert wird und Sie nicht wissen, dass der Variablenname bereits fruher in der Codebasis verwendet wurde. Dazu kommen noch einige andere Eigenheiten, wenn es um Umfang und Heben geht.

Umfang

Der Gultigkeitsbereich sagt uns, welche Variablen wir verwenden können – Wir haben Variablen, die global oder lokal begrenzt sein können. Was passiert, wenn wir dieselbe Variablendeklaration haben, aber eine global und die andere lokal ist?

Wenn wir unsere Variable au√üerhalb der Funktion deklariert haben, steht sie uns global zur Verfugung. Wenn "hallo‚"innerhalb der Funktion deklariert wird, ist es nur fur die Funktion ‚Äì Funktions- oder lokaler Geltungsbereich.

Wenn wir eine gleiche Variablendeklaration haben, der Gultigkeitsbereich jedoch unterschiedlich ist, √§ndert die var innerhalb der Funktion nichts an der Zuweisung der globalen var, auch wenn der Aufruf von helloWorld()-Funktion. Da die Variable innerhalb der Funktion mit dem Namen "hello‚" deklariert ist, sucht sie nicht nach dem globalen Gultigkeitsbereich fur die andere Definition.

Hoisting

Wenn eine Variable in JavaScript hochgehoben wird, wird die Deklaration von Funktionen und Variablen vor der Codeausfuhrung an den Anfang ihres Gultigkeitsbereichs verschoben. Die Variable ist deklariert, aber nicht initialisiert, daher ist der Anfangswert der Variablen undefiniert.

Hier, "hallo‚" wird hochgezogen und an der Spitze Ihres Geltungsbereichs deklariert. Im Wesentlichen interpretiert der Computer den Code also wie folgt:

Die JavaScript-Engine sieht, dass hello existiert, weiß aber nicht, was hello definiert ist, bis die next pass through.

Letztendlich erkannten die Entwickler, die an der Erstellung des ECMAScript-Standards mitgewirkt hatten, dass es einige kleine Probleme mit var gab, die Zeit und Geld kosten konnten. Sie machten sich dann daran, strengere Schlusselw√∂rter zu erstellen. Dies fuhrte zur Erstellung von "let‚" und "konst‚" in ES6.

ES6: Let

Das Schlusselwort letist dem Schlusselwort var in vielerlei Hinsicht sehr ähnlich. Die Hauptunterschiede liegen darin, wie Fehler zuruckgegeben werden und wie die einzelnen Schlusselwörter bereichsbezogen sind.

Variablen, die mit dem Schlusselwort let deklariert und initialisiert wurden, können neu zugewiesen, aber nicht neu deklariert werden.

Wenn Sie den obigen Code in einer JavaScript-Konsole ausfuhren, wird in der letzten Zeile ein Fehler ausgegeben:

SyntaxError: Der Bezeichner ’hello’ wurde bereits deklariert

Im Gegensatz zu var lässt die Deklaration von Variablen mit let keine Deklaration zu derselben zu Variablenname wieder. Sie können es jedoch bei Bedarf neu zuweisen, wie im obigen Beispiel gezeigt.

Bereich

In Bezug auf den Bereich ist let sehr ähnlich zu var. Zusätzlich zu den Regeln, die global oder lokal gultig sind, gibt es eine zusätzliche Einschränkung mit let. Innerhalb eines Codeblocks deklarierte Variablen sind nur fur diesen Codeblock verfugbar. Dies ähnelt dem Funktionsumfang, da Funktionen Codeblöcke sind, die noch weiter ubertragen werden können, indem sie separate Blöcke innerhalb dieser Funktion haben.

Dieser Code enthält keinen Fehler, da beide Instanzen von hello werden als separate Variablen behandelt, da sie unterschiedliche Gultigkeitsbereiche haben.

Hoisting

Hoisting ist ein weiterer Bereich, in dem let- und var-Deklarationen √§hnlich sind. "var‚" wird beim Anheben nach oben als undefiniert initialisiert. ‚Äûlassen‚" l√∂st einen Referenzfehler aus, wenn Sie versuchen, es zu verwenden, bevor es initialisiert wird.

Wissen Sie, dass das Schlusselwort let in Bezug auf die Syntax die bessere Wahl ist. Dies liegt daran, dass Fehler ausgegeben werden, wenn Sie versuchen, eine Variable neu zu deklarieren oder sie vor dem Initialisierungsprozess zu verwenden.

ES6: Const

Das Schlusselwort const hat noch strengere Richtlinien als das Schlusselwort let. Mit const können Variablen nicht neu deklariert oder neu zugewiesen werden. Ein TypeError wird ausgelöst, wenn Sie versuchen, eine const neu zuzuweisen.

Dennoch können beim Arbeiten mit Objekten oder Arrays Eigenschaften des Objekts oder Arrays aktualisiert werden. Solange sich die Grundstruktur des Objekts oder Arrays nicht ändert, können Sie es jederzeit aktualisieren.

Wie im Beispiel gezeigt, fuhrt die Neuzuweisung von Unternehmen zu einem neuen Satz von Eigenschaften zu einem TypeError: Assignment to konstante Variable. Fehler. Konstanten können nicht neu zugewiesen oder deklariert werden, außer in Fällen, in denen Sie die einzelne Eigenschaft in einem Objekt aktualisieren.

Umfang und Heben

Genau wie das Schlusselwort let ist constBlock- bereichsbezogen und wird beim Hochziehen nicht initialisiert, sodass ein Fehler ausgegeben wird, wenn Sie versuchen, es vor der Initialisierung zu verwenden.

Das Schlusselwort const ist großartig zu verwenden, bis Sie es können&rsquo ;verwenden Sie es nicht mehr. Dies ist, wenn Sie Ihre Variable neu zuweisen oder aktualisieren mussen.

Schlussfolgerung

In diesem Artikel sind wir auf die Unterschiede zwischen let, var und eingegangen const. Von allen uns derzeit verfugbaren Keywords ist es vorzuziehen, var nicht zu verwenden, es sei denn, dies ist unbedingt erforderlich. Verwenden Sie stattdessen let oder const.

Var Vs Lass Javascript cos: Questions

Var Vs Lass Javascript JavaScript: Questions

Shop

Best laptop for Fortnite

$

Best laptop for Excel

$

Best laptop for Solidworks

$

Best laptop for Roblox

$

Best computer for crypto mining

$

Best laptop for Sims 4

$

Best laptop for Zoom

$499

Best laptop for Minecraft

$590

Latest questions

NUMPYNUMPY

psycopg2: insert multiple rows with one query

12 answers

NUMPYNUMPY

How to convert Nonetype to int or string?

12 answers

NUMPYNUMPY

How to specify multiple return types using type-hints

12 answers

NUMPYNUMPY

Javascript Error: IPython is not defined in JupyterLab

12 answers

News

Wiki

Python OpenCV | cv2.putText () method

numpy.arctan2 () in Python

Python | os.path.realpath () method

Python OpenCV | cv2.circle () method

Python OpenCV cv2.cvtColor () method

Python - Move item to the end of the list

time.perf_counter () function in Python

Check if one list is a subset of another in Python

Python os.path.join () method