Różnice między JavaScript var a Let
JavaScript to język skryptowy, który deklaruje zmienne w różnych typach za pomocą słów kluczowych, takich jak let, const lub var. let i const mają te same cechy pod względem zakresu leksykalnego. Zakres leksykalny jest definiowany jako widoczność wartości zmiennych w zdefiniowanym lub zamkniętym bloku, który zawiera prawidłowe wartości i jest dostępny.
Skrypt leksykalny JavaScript jest również nazywany skalowaniem statycznym lub Zamknięciami, co jest potężną koncepcją. W JavaScript var nie ma zasięgu bloku, jeśli jest zadeklarowany w klasie, jest widoczny dla całego zakresu od góry do dołu, natomiast nie pozwala na dostęp do jego wartości zmiennej poza zamkniętym blokiem. Deklaracje „var” są przetwarzane, gdy rozpoczyna się wykonywanie funkcji. Jest to podobne do koncepcji zwanej Hoisting (podnoszenie na szczyt) funkcji.
Instrukcja „let” została wprowadzona w standardowej wersji ECMAScript 6, często nazywanej ES6 lub ES 2015. ECMAScript jest organizacją zajmującą się utrzymywaniem standardowych globalnych wersji JavaScriptu, aby zachować jego zdolność adaptacji we wszystkich przeglądarkach internetowych i jego środowisku, tak aby wszystkie były najważniejsze internetowi giganci są w linii.
W JavaScript załóżmy, że zmienna jest zadeklarowana w warunkowej pętli for (), to jest dostępna jako globalna i poza tą pętlą, podczas gdy let nie pozwoli na to i ogranicza dostęp do deklarowanej zmiennej let tylko w pętli for. Ponowne zadeklarowanie zmiennej przy użyciu let powoduje błąd składniowy podczas procesu kompilacji.
Bezpośrednie porównanie między JavaScript Var a Let
Poniżej znajduje się 8 najlepszych porównań między JavaScript Var a Let
Kluczowe różnice między JavaScript Var a Let
Zarówno JavaScript Var vs Let to popularne opcje na rynku; omówmy niektóre z głównych różnic między JavaScript Var a Let:
- Zmienna to nazwa pamięci dla wartości przypisanej w celu identyfikacji jej lokalizacji. W JavaScript zmienną można zadeklarować za pomocą let lub var. Zakres deklaracji var jest globalny, niezależnie od zadeklarowanego zakresu lub lokalizacji, podczas gdy zmienna zadeklarowana za pomocą instrukcji let ma zasięg blokowy lub zakres zamknięty.
- W większości starszych wersji kodu zmienną można było znaleźć dla większości zmiennych zadeklarowanych w większości kodu JavaScript. „var” podnosi wartość zmiennej do całego zakresu, podczas gdy instrukcja let nie podnosi wartości.
- Deklaracja „var” była dostępna od początku JavaScriptu i niedawno wprowadzono instrukcję ESC w wersji ES6 (ES 2015) w celu wymuszenia funkcjonalności zakresu bloków.
- „var” zadeklarowane na dowolnym poziomie zakresu staje się globalne, natomiast zakres może mieć zasięg blokowy, w którym blok można zdefiniować jako kod zamknięty między nawiasami klamrowymi ().
- Zmienne zadeklarowane „var” w JavaScript inicjują domyślną wartość zmiennej na niezdefiniowaną, gdy zostanie zadeklarowana w zakresie, podczas gdy niech zadeklarowane zmienne również ładują wartość domyślną jest niezdefiniowana.
- var nie ma zasięgu leksykalnego, natomiast ma zasięg globalny, natomiast let musi blokować zakres, który może być niejawny lub jawny na podstawie położenia instrukcji let. Jeśli instrukcja let istnieje w zakresie bloku, wówczas staje się zasięgiem leksykalnym.
- W zakresie obiektu Windows można stosować zmienne var, natomiast w tym scenariuszu nie można używać zmiennych deklarowanych w instrukcji let.
- Nie jest bezpieczniej używać typu identyfikatora zadeklarowanego za pomocą instrukcji let, w którym przypadek jest inny dla zmiennych deklarowanych var.
- Jeśli chodzi o porównanie wydajności, var jest szybszy, a wolniej - wewnątrz pętli podczas uruchamiania lub wykonywania kodu.
- Ponowne zadeklarowanie zmiennej var zadeklarowanej zmiennej w tej samej funkcji lub zakresie powoduje błąd składniowy, podczas gdy deklarowana zmienna nie może być ponownie zadeklarowana.
- Można uniknąć błędów i pomyłek związanych z nadpisywaniem wartości w zakresie, używając deklarowanej zmiennej let. Zaleca się stosowanie tam, gdzie to możliwe i nie we wszystkich przypadkach.
- W JavaScript zmienną używającą var można zadeklarować jako var a = 1; podczas gdy zmienną używającą instrukcji let można zadeklarować jako: let a = 1; jedyną różnicą, którą można zaobserwować między var i let javascript, jest blok zakresu oraz deklaracja lub ponowna deklaracja.
- Nazwa deklarowanych zmiennych ma pewne ograniczenia, których należy przestrzegać przed zadeklarowaniem, tak aby nazwa zaczynała się tylko literami, cyframi, znakami $ lub _. Instrukcje var i let javascript również nie powinny być używane jako nazwa identyfikatorów podczas deklarowania zmiennych.
Tabela porównawcza między JavaScript Var a Let
Poniżej znajduje się tabela porównawcza między JavaScript Var a Let
Podstawy porównań między JavaScript Var a Let | JavaScript Var | Pozwolić |
Definicja | var jest starą metodą deklaracji zmiennej | Niech ostatnio wprowadzono formę deklaracji zmiennej |
Stosowanie | Używany głównie do deklarowania zmiennych w programach JavaScript | Taki sam jak var, ale zapewnia dodatkową funkcjonalność wymuszania dostępności zakresu bloków |
Deklaracja | Można zadeklarować w dowolnym miejscu, a zmienna jest podnoszona | Można zadeklarować w dowolnym miejscu i ograniczyć do zakresu blokowania |
Dostępność | Globalny dostęp | Zablokuj dostęp do zakresu lub zakres leksykalny |
Tryb | W trybie ścisłym var pozwala na deklarację zmiennej w tym samym zakresie. | let nie pozwala ponownie deklarować tej samej zmiennej |
Obsługa przeglądarki | Wszystkie przeglądarki obsługują var | Niewiele przeglądarek nie obsługuje instrukcji let |
Podnoszenie | Zmienne globalne są podnoszone | Zmienne o zasięgu blokowym w rzeczywistości nie są podnoszone |
Zgodność | Obsługiwane przez wszystkie przeglądarki i środowiska wykonawcze JS | Można użyć transpilatorów, takich jak Babel, aby przekonwertować go na starsze wersje, aby zapewnić obsługę wszystkich przeglądarek |
Wniosek
Użycie var w JavaScript ma dużo miejsca na błędy podczas wykonywania kodu. Globalny zakres deklaracji var powoduje zmniejszenie użycia tego samego identyfikatora w różnych lokalizacjach w tej samej klasie lub pliku. Zmniejsza to możliwość ponownego użycia kodu. Deklaracja zmiennej przy użyciu var zachowuje się podobnie do let, ale z jedyną różnicą zakresu leksykalnego w całym kodzie.
Deklaracja zmiennej za pomocą „let” powoduje, że dostęp do zmiennej jest uzyskiwany w ramach zamkniętego zakresu, w wyniku czego identyfikator zostaje zadeklarowany i użyty ponownie poza zakresem zablokowanym, instrukcją lub wyrażeniem. Var nie może być zastąpione let, ponieważ ma swoje własne zastosowania w różnych zakresach. Niech powinno być używane tylko tam, gdzie zakres bloków ma podstawowe znaczenie, a podnoszenie nie jest potrzebne w zakresie wykonania.
Polecany artykuł
To był przewodnik po najważniejszych różnicach między JavaScript Var a Let. Tutaj omawiamy również JavaScript Var vs Let kluczowe różnice z infografiką i tabelą porównawczą. Możesz także zapoznać się z następującymi artykułami, aby dowiedzieć się więcej -
- HTML5 vs Flash-Który z nich jest bardziej przydatny
- Porównanie Java vs Node JS
- Różnice między Python a JavaScript
- Java i JavaScript - 10 najważniejszych różnic
- HTML5 vs JavaScript Jakie są funkcje