Konsola.log(życie)

Zmienna jest niezdefiniowana…

Wyobraź sobie, że tak łatwo było zrozumieć sens życia. W JavaScript, gdy pojawi się ten błąd, może to być przygnębiające uczucie. Co tu się stało? Co to w ogóle oznacza i jak można to naprawić. Najpierw musimy zrozumieć, co dzieje się pod maską silnika V8 JavaScriptu

Kontekst wykonania

Kiedy JavaScript zaczyna działać, konfiguruje środowisko, w którym będzie uruchamiany Twój kod, zwane „kontekstem wykonania”. Pierwszą rzeczą, jaką robi, jest utworzenie obiektu globalnego, zmiennej o nazwie „this” i ewentualnie odniesienia do środowiska zewnętrznego, jeśli takie istnieje. W tym momencie zaczyna się proces „podnoszenia” wszystkich zmiennych w kodzie.

„Podnoszenie” to kolejny temat, który najlepiej omówić w osobnym artykule. Na razie, ze względu na konwersację, po prostu zgódźmy się na użycie definicji z dokumentów MDN tutaj :

„ ścisła definicja podnoszenia sugeruje, że deklaracje zmiennych i funkcji są fizycznie przenoszone na początek kodu, ale w rzeczywistości tak się nie dzieje. Zamiast tego deklaracje zmiennych i funkcji są umieszczane w pamięci podczas fazy kompilacji, ale pozostają dokładnie tam, gdzie je wpisałeś w swoim kodzie”.

Ponieważ JavaScript konfiguruje środowisko do uruchomienia kodu, rozpoczyna on przydzielanie pamięci dla każdej zadeklarowanej zmiennej i miejsca na przypisaną do niej wartość. Jeśli nie zadeklarowałeś wyraźnej wartości zmiennej o nazwie life . JavaScript automatycznie przypisze mu specjalną wartość „undefined” . Kiedy więc widzisz, że życie jest „ nieokreślone ” jako błąd. To, co javaScript próbuje ci powiedzieć: znajduje się w środowisku wykonawczym, które stworzyłem do uruchomienia twojego kodu. Nie przypisano wartości zmiennej życie. Więc twój kod ma zmienną o nazwie life, ale nie ma dla niej wartości przechowywanej w pamięci.

To znacznie różni się od „Błąd odniesienia: życie nie jest zdefiniowane”. JavaScript w jego dziwnie pomocny sposób. Próbuje wskazać Ci kierunek, w którym należy naprawić kod. To, co silnik JavaScript próbuje Ci powiedzieć za pomocą „Błąd odniesienia: życie nie jest zdefiniowane” , to to, że Twój kod został podniesiony, a zmienne i wartości zostały umieszczone w pamięci. Silnik JavaScript nie zarezerwował miejsca w pamięci dla tej zmiennej, ponieważ nie zadeklarowałeś zmiennej o nazwie life. Zasadniczo oznacza to, że w twoim kodzie nie ma odniesienia do zmiennej zwanej życiem, więc nic nie zostało podniesione. Mamy więc błąd, ponieważ w środowisku wykonawczym nie ma nic, do czego można by się odwołać dla wartości

To prowadzi do naprawdę ważnego punktu, co by było, gdybyś musiał zadeklarować zmienną i ustawić jej wartość, która wskazuje, że nie ma wartości?

Moją sugestią byłoby użycie „null” zgodnie z MDN tutaj

„Wartość nullreprezentuje celowy brak jakiejkolwiek wartości obiektu. Jest to jedna z prymitywnych wartości JavaScriptu i jest traktowana jako fałszywa dla operacji logicznych.”

Mamy nadzieję, że ten artykuł pomógł wyjaśnić, co tak naprawdę dzieje się pod maską z JavaScriptem, ponieważ napotkasz te typowe błędy. Niestety, sens życia nie jest tak łatwo zdefiniowany.

Udanego kodowania!

Suggested posts

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

Unikanie niszczycielskich konsekwencji udaru mózgu: nauka z rodzinnej podróży.

Wstęp Udar to nagły przypadek medyczny, który może dotknąć każdego w dowolnym momencie. Występuje, gdy przepływ krwi do części mózgu zostaje zakłócony, co prowadzi do nagłej utraty funkcji mózgu.

Moje najczęściej używane zasoby dotyczące kodowania

Moje najczęściej używane zasoby dotyczące kodowania

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.

Related posts

NIEOGRANICZONE ŻYCIE

Kiedy dorastasz, zwykle słyszysz, że świat jest taki, jaki jest, a twoje życie polega na tym, by żyć swoim życiem w świecie, nigdy nie ryzykując życia, po prostu podążaj wyznaczoną ścieżką i umrzyj w końcu i staraj się nie za bardzo walnij w ściany. Ale to bardzo ograniczone życie.

Dwa lata projektowania – dobre, złe i brzydkie…

Dwa lata projektowania – dobre, złe i brzydkie…

„Hej, Siri, zagraj w Me Dive autorstwa Olivii Dean”. W maju 2021 rozpocząłem staż w Future Academy Africa w Akure w Nigerii.

Co możesz zrobić w swoim okresie oczekiwania (czekając na wylądowanie Twoja pierwsza praca w technologii)

Co możesz zrobić w swoim okresie oczekiwania (czekając na wylądowanie Twoja pierwsza praca w technologii)

Przejście do nowej kariery może być niezwykle trudne, jeśli spróbujesz zrobić to sam. Ważne jest, aby znaleźć odpowiedzialnych partnerów, którzy są na tym samym poziomie uczenia się co ty, którzy mają podobne cele, wytrwałość i motywację.

Prześladowania chrześcijan: przestępstwo z nienawiści, o którym nie mówimy

Zapomnij o islamofobii: Chrześcijanie (i Żydzi) są głównymi ofiarami przestępstw z nienawiści na tle religijnym.

Prześladowania chrześcijan: przestępstwo z nienawiści, o którym nie mówimy

Każdy racjonalnie myślący wie, że w kręgach politycznych i medialnych dominuje lewica, nawet skrajna lewica, co powoduje zachwianie równowagi w dyskursie politycznym. W dziedzinie religii ta nierównowaga jest wyraźnie widoczna: lewicowe gazety i sieci nie spieszą się z obroną wiary chrześcijańskiej.