Różnica między VAR i LET w JavaScript

Różnica między VAR i LET w JavaScript
var I pozwalać są słowami kluczowymi używanymi do definiowania lub inicjowania zmiennej w JavaScript. Oboje jednak mają różne zakresy. W JavaScript dostępne są dwie różne zmienne, które są globalnym zakresem i lokalnym zakresem blokowym. Ten artykuł rozróżni pozwalać I var Słowa kluczowe za pomocą zakresów.

var i globalny zakres

Ilekroć tworzymy nową zmienną za pomocą słowa kluczowego VAR, określa on dwie właściwości dla zmiennej. Pierwszym z nich jest to, że wartość tej zmiennej można zmienić w dowolnym momencie, a po drugie, że zmienną można uzyskać z dowolnej części programu, dzięki czemu jest to zmienna dostępna na całym świecie w tym pliku JavaScript. Aby to zademonstrować, weźmiemy następujący przykład:

Przykład słowa kluczowego var
Po prostu utwórz zmienną za pomocą słowa kluczowego VAR za pomocą następującego wiersza:

var string = "Google";

Następnie po prostu spróbuj uzyskać dostęp do tej zmiennej z wewnątrz, jeśli stan, A dla pętli i z pomocy następujących wierszy:

var string = "Google";
konsola.log (string + „z pliku JavaScript”);
Jeśli prawda)
konsola.log (ciąg + „z instrukcji if”);

dla (i = 0; i < 1; i++)
konsola.log (ciąg + „z pętli dla”);

funkcja printString ()
konsola.log (ciąg + „z funkcji”);

PrintString ();

Po wykonaniu wyżej wymienionego kodu fragmentu następujący wynik jest wyświetlany na terminalu:

Z wyjścia jasno wynika, że ​​kompilator był w stanie uzyskać dostęp do zmiennej strunowy z pliku JavaScript poza dowolnymi obudami, od instrukcji IF, z pętli dla formy i trwają z funkcji. To sprawia, że ​​ta zmienna jest globalnie dostępną zmienną w całym pliku JavaScript.

Pozwól i zablokować zakres

Ilekroć zmienna jest inicjowana z pozwalać Słowo kluczowe, zakres tej zmiennej jest ustawiony na blokowanie zakresu. Zakres bloków ogranicza dostęp do dostępu lub odwołanie zmiennej spoza kiszonego wspornika , w którym został zainicjowany. Dlatego możemy powiedzieć, że istnieje zakres blokowy między każdą parą kręconych nawiasów.

Przykład słowa kluczowego
Najpierw utwórz zmienną w JavaScript za pomocą słowa kluczowego LET wewnątrz instrukcji IF:

Jeśli prawda)
niech x = "hello";

A potem spróbuj to zadzwonić X Zmienna poza tym instrukcja IF za pomocą następujących wierszy:

konsola.log (x);

Wykonanie programu poda następujące dane wyjściowe na terminalu:

Wyjście pokazuje błąd odniesienia X nie jest zdefiniowane, co oznacza, że ​​zakres zmiennej X został zamknięty w oświadczeniu IF.

Ale aby wykazać, że zakres blokowy istnieje między parą kręconych nawiasów bez względu na użyte z nim stwierdzenie. Po prostu utwórz zmienną X Wewnątrz kręconych nawiasów, takich jak:


niech x = "hello";

I spróbuj uzyskać dostęp do zmiennej X Poza tymi kręconymi nawiasami przy użyciu funkcji dziennika konsoli:

konsola.log (x);

Cały fragment kodu będzie wyglądał tak:


niech x = "hello";

konsola.log (x);

Wykonanie tego zalutuje terminal z następującym wynikiem:

Ze wyjścia i błędu w wyjściu łatwo jest rozstrzygające, że słowo kluczowe ogranicza zakres zmiennej w obrębie nawias klamrowy w którym jest inicjowany.

Wniosek

Znacząca różnica między var Słowo kluczowe i pozwalać Słowo kluczowe polega na tym, że var Słowo kluczowe wiąże zmienne zakres z globalnymi, podczas gdy pozwalać Słowo kluczowe ogranicza zakres zmiennej do zablokowania. Globalny zakres nie wymaga wyjaśnienia. Zmienna jest dostępna z dowolnej części tego pliku JavaScript. Natomiast zakres bloków oznacza, że ​​zmienna jest dostępna tylko w bloku kodu zamkniętego w nawiasach kręconych, w których została utworzona.