W JavaScript możemy deklarować zmienne za pomocą tych trzech słów kluczowych var, let, const. Każde z tych słów kluczowych zachowuje się inaczej w zależności od sposobu ich użycia. Na tym blogu podzielę się swoją wiedzą na temat zmiennych.
Zanim przejdziemy dalej, najpierw przypomnijmy sobie cykl życia silnika i silnika Javascript. (W skrócie silnik javascript to program komputerowy, który kompiluje kod javascript do natywnego kodu maszynowego i wykonuje go).
Gdy silnik javascript wykonuje kod globalny, tworzy konteksty wykonania. Każdy kontekst wykonania ma dwie fazy: fazę tworzenia i fazę wykonywania.
Faza tworzenia:
kompilator przechodzi przez cały kod 2 razy przed wykonaniem
Kiedy silnik pracuje ze zmiennymi, ich cykl życia składa się z następujących faz:
undefined.1. Faza deklaracji, zmienna foo jest rejestrowana i dodawana do łańcucha zasięgu (w naszym przypadku zasięg globalny)
2. Faza inicjalizacji , fooinicjowana za pomocą undefined.
3. faza ssignment, jest przypisany zmiennej . 4foo
Rozumiemy, co mówi diagram na przykładzie:
console.log w pierwszej linii .foo a ponieważ jest zadeklarowana za pomocą var, zmienna przechodzi fazę deklaracji i od razu fazę inicjalizacji.fooundefinedconsole.log(foo), że aktualna wartość foojest undefinedtak , że loguje undefined.4 foo.
Zobaczmy, co się stanie, jeśli użyjemy tego samego przykładu ze letsłowem kluczowym
let, w fazie tworzenia uruchamiana jest tylko faza deklaracji zmiennej i zmienna foojest zarejestrowana w zakresie, ale nie jest zdefiniowana.console.log(foo) i wykonuje.foo zdefiniowanym zakresie, ale nie znajduje, więc zgłasza błąd. Dzieje się tak, ponieważ foojest niezainicjowany. fooznajduje się w czasowej martwej strefie .
W przypadku const, wszystko dzieje się tak samo, letz wyjątkiem jednej rzeczy.
Faza inicjalizacji i faza przypisania przebiegają razem. Wymagany jest inicjator dla a ; oznacza to, że musisz określić jego wartość w tej samej instrukcji, w której jest zadeklarowana (co ma sens, biorąc pod uwagę, że nie można jej później zmienić). const
Hoisting to mechanizm JavaScript, w którym zmienne i deklaracje funkcji są przenoszone na szczyt ich zakresu przed wykonaniem kodu. Są one umieszczane w pamięci podczas fazy tworzenia, ale pozostają dokładnie w miejscu, w którym je wpisałeś w swoim kodzie.
TDZ to termin opisujący stan, w którym zmienne są nieosiągalne. Znajdują się w zakresie, ale nie są inicjowane.
TDZ dotyczy jedynie let, consta class sprawozdanie i, tak, oni są wywieszono też. Aby udowodnić, że widzisz przykład:
Powyższy kod jest dowodem, że foo zarejestrowany i dodany do zakresu, innymi słowy, podniesiony powyżej miejsca, w którym został zadeklarowany. Silnik wie foo, że istnieje (jest zadeklarowany), ale nie możemy uzyskać do niego dostępu przed jego zainicjowaniem.
Wiedza o tym, co dzieje się pod maską silnika javascript (w naszym przypadku ze zmiennymi), da ci pewność co do tego, co za jego pomocą zbudujesz, i zapewni, że będziesz używał języka mądrzej.
W tym tygodniu otrzymałem wiadomość e-mail od członka codziennej listy e-mailowej. Chcieli wiedzieć: Jakie zasoby odwiedzasz codziennie, co tydzień i co miesiąc? Świetne pytanie! Cieszę się, że mogę podzielić się spostrzeżeniami na temat mojego przepływu pracy i najlepszych zasobów, z których korzystam.
Celem tej serii blogów jest zagłębienie się w bibliotekę Lit i uzyskanie pełnego zrozumienia jej unikalnych funkcji oraz tego, jak wyróżnia się na tle innych bibliotek i frameworków na rynku. Cykl podzielony jest na trzy części, obejmujące takie tematy jak 1.
W dzisiejszym szybko zmieniającym się krajobrazie biznesowym koncepcja pracy hybrydowej i zdalnej nabrała bezprecedensowego rozpędu. Ponieważ firmy wciąż dostosowują się do zmieniających się potrzeb i oczekiwań swoich pracowników, eksperci z różnych dziedzin zebrali się, aby omówić korzyści, wyzwania i przyszłość tego transformacyjnego sposobu pracy.
Swędzenie w mojej dłoni rozszerzyło się, gdy targowałem się z miejscowym księgarzem o kolejną książkę. Ta książka, podobnie jak pozostałe, które ostatnio kupiłem, znalazłaby swój tron na moim stosie „Do przeczytania” (TBR); a mimo to kupiłem.
W 2022 roku, wraz z wydaniem GPT-3, umiejętność pisania wydaje się tracić na znaczeniu. Dzięki sztucznej inteligencji osoby o słabym pisaniu mogą również generować wysokiej jakości personel.
Możesz być śledczym OSINT, graczem CTF lub po prostu kimś, kto odbiera połączenia spamowe. Ktoś, kto próbuje zweryfikować numer, który widziałeś w reklamie.