Co to jest w JavaScript
W JavaScript zakres jest zdefiniowany przez kręcone nawiasy. Definiuje blok kodu, który należy wykonać razem. JavaScript ma dwa rodzaje zakresów:
Funkcja-scope: Każda zmienna w JavaScript utworzona w funkcji za pomocą var jest funkcja. Jego widoczność jest ograniczona do definicji funkcji i nie można uzyskać do niej dostępu z żadnego poza funkcją:
funkcja showMessage ()Block-Scope: Blok kodu w JavaScript jest zdefiniowany przez kręcone aparaty ortodontyczne. Ten rodzaj zakresu pomoże nam wyraźnie rozróżnić trzy metody deklarowania zmiennych:
Poniżej znajduje się przykład, w którym zadeklarowaliśmy zmienne var, let i const w bloku if, a następnie zalogowaliśmy je do konsoli:
Jeśli prawda)Wszystkie zmienne zostały zarejestrowane do konsoli bez żadnego błędu, ponieważ zostały zalogowane z tego samego bloku.
Jeśli jednak spróbujemy je zalogować spoza bloku if, pojawi się poniżej wspomniany błąd:
Jeśli prawda)Jak używać var do deklarowania zmiennej w JavaScript
Przed EcMascript 2016 var była jedyną metodą deklarowania zmiennej w JavaScript, ale miała z nią kilka problemów, więc wprowadzono nowe metody, które można zastosować do deklarowania zmiennych. Najpierw zrozumiemy var A potem porozmawiamy o tych problemach:
Zakres var: Zmienna zasadniczo oznacza, gdzie zmienna będzie dostępna do użycia. Zmienne zadeklarowane za pomocą var Słowo kluczowe ma zakres globalny lub lokalny.
Zmienne, które są zadeklarowane zewnętrznym blokiem funkcji za pomocą var mieć globalny zakres. Globalny zakres oznacza, że zmienna jest dostępna do użycia w dowolnym miejscu w oknie.
Gdy zmienna jest zadeklarowana w funkcji, jest to funkcja, co oznacza, że można ją używać tylko w funkcji:
Aby zrozumieć dalsze, spójrz na poniższy przykład:
funkcja showMessage ()Tutaj wiadomość jest wykonywana funkcja, więc nie można uzyskać do niej dostępu poza funkcją. Więc jeśli to zrobimy:
funkcja showMessage ()To da nam błąd, ponieważ wiadomość nie jest dostępne poza funkcją.
var poza pętlą: Zmienna "I" można uzyskać dostęp z zewnątrz za pętla.
dla (var i = 0; i < 5; i++)Zmienne var można ponownie zdeklarować i aktualizować: W zmiennych JavaScript zadeklarowanych var Słowo kluczowe może być rekultywowane i aktualizowane w tym samym zakresie:
funkcja showMessage ()Jak używać Let, aby zadeklarować zmienną w JavaScript: pozwalać Słowo kluczowe jest teraz preferowane var dla deklaracji zmiennych; ma kilka ulepszeń var.
Niech blok jest zaskoczony: W JavaScript blok kodu to zbiór stwierdzeń, które są ograniczone parą kręconych nawiasów . Zmienna zadeklarowana za pomocą pozwalać Słowo kluczowe jest dostępne tylko w tym bloku i nie można uzyskać do niego dostępu z zewnątrz:
Jeśli prawda)Jeśli używamy wiadomość poza blokiem, w którym został zdefiniowany, zwróci błąd. Jest tak, ponieważ zmienne niech są blokowe.
Niech poza pętlą: Poniższy przykład pokazujący pozwalać zmienne wyjście za pomocą pętli:
dla (niech i = 0; i < 5; i++)Możemy zostać zaktualizowane, ale nie ponownie zdeklarowane: Zmienna zadeklarowana pozwalać można aktualizować w swoim zakresie tak jak var, Ale w przeciwieństwie do var, Nie można go odnowić:
niech komunikat = „Cześć z Linuxhint”;Konsola jest całkowicie pusta i nie zwraca żadnych błędów. Te stwierdzenia zwrócą błąd:
niech komunikat = „Cześć z Linuxhint”;Jednak przedefiniowanie tej samej zmiennej w innym zakresie za pomocą pozwalać nie zwraca żadnego błędu:
niech komunikat = „Cześć z Linuxhint”;pozwalać Słowo kluczowe traktuje te dwie zmienne jako różne, jeśli są w różnych rozszczepieniach, więc nie zwraca żadnego błędu; Ta funkcja pozwalać Słowo kluczowe sprawia, że jest to lepszy wybór niż var. Podczas używania pozwalać, Możesz ponownie wykorzystać nazwy zmiennych w różnych zakresach, nie martwiąc się o to, czy wcześniej użyłeś tej nazwy zmiennej.
Jak używać const, aby zadeklarować zmienną w JavaScript
Zmienne zadeklarowane za pomocą const Słowo kluczowe ma stałe wartości. Oznacza to, że ich wartości nie można zmienić/przenieść. Podobne do zmiennych zadeklarowanych za pomocą pozwalać słowo kluczowe, zmienne zadeklarowane za pomocą var Słowo kluczowe są również blokowe.
Const nie można ponownie zdeklarować ani ponownego uzgadniania: Zmienne zadeklarowane słowem kluczowym const nie można ponowić ponownego oceny ani ponownego uzgadniania w tym samym zakresie. Jeśli więc zadeklarowaliśmy zmienną z słowem kluczowym Const, nie możemy tego zrobić:
const Message = „HI From Linuxhint”;Nie będziemy też w stanie tego zrobić:
const Message = „HI From Linuxhint”;Każda zmienna, która jest zadeklarowana za pomocą const Słowo kluczowe musi zostać zainicjowane w momencie jego deklaracji.
To zachowanie const Słowo kluczowe jakoś zmienia się, jeśli chodzi o obiekty. Chociaż zadeklarowany obiektu nie można zaktualizować, jego właściwości można zmienić
Tak więc, jeśli ogłosimy obiekt z const:
const user =Chociaż nie można tego zrobić:
User =To może być skończone:
użytkownik.name = "Harry";To zmieni wartość użytkownik.nazwa bez zwracania błędów.
Ostateczna ocena
Deklaracja zmienna | Funkcja-scope | Block-Scope | Redefiniowane |
---|---|---|---|
var | ✅ | ❌ | ✅ |
pozwalać | ❌ | ✅ | ✅ |
const | ❌ | ✅ | ❌ |
Wniosek
Zasadniczo jest to dobra praktyka, aby unikać używania var zadeklarować zmienne w JavaScript, ponieważ zakres funkcji jest mylący i nie jest tak oczywisty jak zakres blokowy. pozwalać I const Słowa kluczowe zachęcają deweloperów do korzystania z lepszych praktyk kodowania. Powinieneś na ogół użyć pozwalać dla zmiennych, które musisz ponownie przypisać i użyć const Słowo kluczowe dla wszystkich innych zmiennych. Ten artykuł dokładnie wyjaśnia wszystkie trzy typy zmiennych z przykładami.