JavaScript null vs undefined

Każdy kto zaczynał, bądź zaczyna przygodę z JavaScript na pewno zwrócił uwagę na dwa kluczowe słowa null i undefined. Dziś pokaże pewne ciekawostki związane z tymi przypadkami, mam nadzieję, że pomogą one każdemu kto choć raz próbował zabawy z js’em, zapraszam 🙂

Null oraz undefined są typami. W JavaScript undefined oznacza, że zmienna została zadeklarowana ale jeszcze nie ma żadnej przypisanej wartości.

Gdy powyższy kod uruchomimy na konsoli zobaczymy wynik undefined, dzieje się tak ponieważ zmienna temp została zadeklarowana, ale nie przypisano do niej żadnej wartości, nie została zainicjalizowana.

Zmieńmy ten stan i do zmiennej temp przypiszmy wartość null

Po uruchomieniu nasza zmienna ma wartość null. Null może być reprezentowane jako wartość, bezwartości, inaczej mówiąc możemy przypisać do zmiennej temp pudełko z cyferką 5, albo samo pudełko, samo pudełko jest nullem.

Console.log pokazuje, że null jest typem null, czyli obiektem, poniżej dobrze widać sens tego zdania 🙂 czym jest null.

Na dzień dobry trochę pokręcone, no nie? 🙂 Przykład z undefined jest bardziej sensowny:

Typem undefined jest undefined. Teraz rodzi się pytanie czy null jest tym samym co undefined? sprawdźmy:

Dlaczego potrójny znak porównania(===) daje false? ponieważ === sprawdza typ i wartość, jeżeli jedna składowa ma inny typ to z góry nie można takiego przypadku sprawdzić.
 
Teraz zrobimy myk w postaci „nie null” czyli negacja „!”:

Interesujący jest jeszcze taki przypadek:

Jeszcze jeden przykład:

Podsumowując, null i undefined teraz mam nadzieje choć trochę pomogło zrozumieć to zestawienie. Undefined to po prostu coś co jest „niczym” wiemy, że jest ale jest nie traktowane jako cokolwiek, null w zależności od przykładu jest jakimś bytem.

 
Pozdro 🙂
 

One comment

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*