Jak widzieliśmy w sekcji zmiennej, możemy przypisać do zmiennej dowolny pierwotny lub inny typ wartości. JavaScript zawiera dwie dodatkowe wartości typu pierwotnego – null i undefined, które można przypisać do zmiennej o specjalnym znaczeniu.
null
Możesz przypisać null do zmiennej, aby wskazać, że obecnie zmienna nie ma żadnej wartości, ale będzie miała później. Wartość null oznacza brak wartości.
W powyższym przykładzie wartość null jest przypisana do zmiennej myVar. Oznacza to, że zdefiniowaliśmy zmienną, ale nie przypisaliśmy jeszcze żadnej wartości, więc wartością jest brak.
Jeśli spróbujesz znaleźć element DOM za pomocą na przykład document.getElelementByID i jeśli element zostanie znaleziony, zwróci wartość null. Dlatego zaleca się sprawdzenie wartości null przed zrobieniem czegoś z tym elementem.
Wartość null przyjmuje wartość false w wyrażeniu warunkowym. Nie musisz więc używać operatorów porównania, takich jak === lub! ==, do sprawdzania wartości null.
undefined
Undefined to także wartość pierwotna w JavaScript. Zmienna lub obiekt ma niezdefiniowana wartość, gdy żadna wartość nie jest przypisana przed jej użyciem. Możesz więc powiedzieć, że undefined oznacza brak wartości lub nieznaną wartość.
W powyższym przykładzie nie przypisaliśmy żadnej wartości zmiennej o nazwie „myVar”. Zmienna „myVar” nie ma wartości. Dlatego jest niezdefiniowana.
Ty otrzyma niezdefiniowaną wartość, gdy wywołasz nieistniejącą właściwość lub metodę obiektu.
W powyższym przykładzie funkcja Sum nie zwraca żadnego wyniku, ale mimo to próbujemy przypisać jej wynikową wartość do zmiennej. W tym przypadku wynik będzie niezdefiniowany.
Jeśli przekażesz mniej argumentów w wywołaniu funkcji, parametr ten będzie miał niezdefiniowaną wartość.
Niezdefiniowany przyjmuje wartość false, gdy jest używany w wyrażeniu warunkowym.
null i undefined to jeden z głównych powodów wystąpienia błędu w czasie wykonywania w aplikacji JavaScript. Dzieje się tak, jeśli nie sprawdzisz wartości nieznanych zmiennych zwracanych przed ich użyciem. Jeśli nie masz pewności, że zmienna zawsze będzie miała jakąś wartość, najlepszym rozwiązaniem jest sprawdzenie wartości zmiennych pod kątem wartości null lub undefined przed ich użyciem.
- null i undefined to wartości pierwotne w JavaScript.
- Wartość pusta oznacza brak.
- Wartość nieokreślona oznacza brak wartości.
- Wartość zerowa lub niezdefiniowana zmienia się na fałsz w wyrażeniu warunkowym.