Jaka jest różnica między var, let i const w JavaScript?

Jaka jest różnica między var, let i const w JavaScript?

Zmienna deklaracja po prostu informuje komputer, że istnieje zmienna i jaka wartość powinna zacząć. Podobnie jak inne języki programowania JavaScript pozwala również na deklarację zmiennych.

Istnieją trzy słowa kluczowe w JavaScript, które można użyć do deklarowania zmiennych: Let, var i const. Każde słowo kluczowe ma inne reguły i implikacje dla sposobu, w jaki można tworzyć zmienne, które można użyć.

  1. pozwalać: Słowo kluczowe LET deklaruje zmienną lokalną blokową, opcjonalnie inicjując ją do wartości.

    Block-coped oznacza, że ​​zmienna jest dostępna tylko w bloku, w którym została zadeklarowana, co zwykle jest oznaczone przez kręcone aparaty ortodontyczne .

  2. var: Słowo kluczowe VAR deklaruje zmienną z funkcją lub globalną, opcjonalnie inicjując ją do wartości.

    Funkcja oznacza, że ​​zmienna jest dostępna tylko w funkcji, w której została zadeklarowana. Zmienne globalne są dostępne w całym twoim kodzie.

  3. const: Słowo kluczowe Const deklaruje blokową, niezmienną zmienną stałą, i.mi. zmienna, której nie można przenieść.

    Stałe są również nazywane „niezmiennymi zmiennymi”, ale jest to trochę mylące, ponieważ są to faktycznie zmienne - tylko takie, których nie można przenieść.

Jaka jest różnica między var, let i const?

Słowo kluczowe var jest najstarszym sposobem deklarowania zmiennych w JavaScript i jest obsługiwane przez wszystkie przeglądarki. Słowa kluczowe Let i Const są nowszymi dodatkami do języka i nie są obsługiwane przez starsze przeglądarki.

Jeśli chcesz obsługiwać starsze przeglądarki, możesz użyć var ​​zamiast let lub const. Jeśli nie musisz obsługiwać starszych przeglądarek, możesz użyć Let lub Const. Jeśli chcesz, aby Twoja zmienna była niezmienna, użyj Const.

Oto kilka przykładów:

var x = 1; Niech y = 2; const z = 3; x = 4; // ok y = 5; // OK z = 6; //Błąd
1234567var x = 1; niech y = 2; const z = 3; x = 4; // ok y = 5; // OK z = 6; //Błąd

Jak widać, zmienne VAR i LET mogą zostać ponownie przypisane, ale zmienne stałe nie mogą nie.

Kolejna różnica między var i let/const jest taka, że ​​zmienne var są obfite, podczas gdy zmienne let i const są blokowe.

Oznacza to, że zmienne var są dostępne tylko w ramach funkcji, w której zostały zadeklarowane. Na przykład:

funkcja foo () var x = 1; bla(); konsola.log (x); // referenceStror: x nie jest zdefiniowane
123456funkcja foo () var x = 1; foo (); konsola.log (x); // referenceStror: x nie jest zdefiniowane

Z drugiej strony zmienne let i const są dostępne tylko w bloku, w których zostały zadeklarowane. Na przykład:

funkcja foo () let y = 2; const z = 3; bla(); konsola.ociężały); // referenceSerror: y nie jest zdefiniowaną konsolą.log (z); // referenceStror: z nie jest zdefiniowane
12345678funkcja foo () let y = 2; const z = 3; foo (); konsola.ociężały); // referenceSerror: y nie jest zdefiniowaną konsolą.log (z); // referenceStror: z nie jest zdefiniowane

Podsumowując, główne różnice między var, let i const są:

  • var jest objęty funkcją, gdy let i const są blokowe.
  • Zmienne var można ponownie przypisać, podczas gdy zmienne LET i COND nie mogą.
  • Zmienne var są deklarowane za pomocą słowa kluczowego var, podczas gdy zmienne let i const są zadeklarowane odpowiednio za pomocą słów kluczowych let i const.
  • Zmienne const są niezmienne, podczas gdy zmienne var nie są.