Jaka jest różnica między wartością null a niezdefiniowaną w JavaScript?

Jaka jest różnica między wartością null a niezdefiniowaną w JavaScript?

W tym przewodniku przyjrzymy się różnicy między zero oraz nieokreślony wartości w JavaScript. Znajomość różnicy między tymi dwiema wartościami jest ważna dla debugowania i tworzenia kodu wolnego od błędów.





przesyłaj muzykę z iPoda do iTunes za darmo

Użyj konsoli przeglądarki, aby śledzić lub wypróbować przykłady kodu omówione w tym przewodniku.





Porównanie równości wartości zerowych i niezdefiniowanych

W JavaScript, zero jest wartością pierwotną, która jest używana do oznaczenia celowego braku wartości obiektu, podczas gdy nieokreślony jest wartością pierwotną, która działa jako symbol zastępczy dla zmiennej, do której nie przypisano wartości.





Zero oraz nieokreślony wartości są równe w porównaniu z operatorem równości JavaScript.

Użyj operatora równości ( == ) do porównania, jeśli zero oraz nieokreślony wartości są równe w JavaScript.



Otwórz konsolę przeglądarki i wprowadź następujący kod, a następnie naciśnij Wejść.

null == undefined

Wynik powinien dać coś, co wygląda tak, zwrócona wartość logiczna prawda oznacza po prostu, że te dwie wartości są równe.





Dowiedz się więcej: Jak deklarować zmienne w JavaScript

Ścisłe porównanie równości

JavaScript posiada również operator tożsamości ( === ), znany również jako operator ścisłej równości oprócz operatora równości ( == )





Operator tożsamości idzie o krok dalej, sprawdzając, czy podstawowy typ porównywanych wartości jest taki sam. Zasadniczo oznacza to, że nawet jeśli dwie wartości są równe, mogą nie być identyczne lub ściśle równe, jeśli ich typy bazowe są różne.

Aby przetestować ścisłą równość, użyj potrójnego znaku równości, jak poniżej.

null === undefined

Wynik powyższego polecenia da ci wartość logiczną fałszywe , Innymi słowy, te dwie wartości nie są identyczne, mimo że są równe.

Ustalanie rodzaju wartości Null i Undefined

Użyj wbudowanej funkcji JavaScript typ() aby znaleźć podstawowy typ wartości. Funkcja pobiera pojedynczy parametr wartości, której typ chcesz znaleźć.

Związane z: Najlepsza ściągawka JavaScript

typeof(null)

Wartość null jest typu obiekt jak widać z poniższych danych wyjściowych.

Przeprowadzenie podobnego testu na nieokreślony wartość da ci wynik nieokreślony .

typeof(undefined)

Praca z liczbami

Aby zbadać więcej różnic, przeprowadź test liczbowy na zero oraz nieokreślony wartości. Jeśli wartość jest liczbą, oznacza to, że możemy na niej wykonywać operacje numeryczne.

Istnieją dwa główne sposoby sprawdzenia, czy wartość jest liczbą w JavaScript.

1. Korzystanie z jest skończony () function—jeśli testowana wartość jest liczbą, funkcja zwraca prawda ; w przeciwnym razie wróci fałszywe .

2. Korzystanie z isNaN() function—jeżeli testowana wartość jest liczbą, to zwraca się fałszywe ; w przeciwnym razie wróci prawda .

Notatka : isNaN to skrót od „to nie jest liczba”.

Aby uprościć sprawę, w tym przewodniku wykorzystamy tylko jest skończony () funkcja do sprawdzenia, czy wartość jest liczbą, ale możesz również wypróbować isNaN() funkcjonować. Obie te funkcje przyjmują jako parametr wartość, na której chcesz uruchomić test liczb.

isFinite(null)

Wynik to prawda , oznaczający zero jest wartością typu numer w JavaScript. Natomiast przeprowadzając ten sam test na nieokreślony zwroty fałszywe .

isFinite(undefined)

Wpisz przymus

JavaScript jest językiem o luźnym typowaniu iz tego powodu podczas wykonywania operacji matematycznych JavaScript automatycznie konwertuje wynik na żądany typ.

Niestety ta automatyczna konwersja, potocznie nazywana przymusem typu, może nieść ze sobą wiele niespodzianek.

Uruchom następującą operację numeryczną na zero oraz nieokreślony w konsoli przeglądarki.

1 + null 3 * null 1 + undefined 3 * undefined;

Jak widać, możesz wykonać kilka operacji numerycznych na zero wartość, ponieważ jest to liczba, która nie ma żadnej wartości. Dlatego jest traktowane jak zero. Zwróć uwagę, że zero nie jest równy zero w JavaScript, ale w tym przypadku jest to traktowane jakoś tak.

Operacje numeryczne na nieokreślony wartość powoduje zwrócenie NaN (Nie liczba) wartość. Jeśli nie będziesz traktowany ostrożnie, możesz doświadczyć tego podczas pracy.

Unikanie błędów w czasie wykonywania

Dobre zrozumienie zero oraz nieokreślony wartości ma kluczowe znaczenie dla uniknięcia błędów w czasie wykonywania w kodzie produkcyjnym. Błędy związane z nieokreślony wartości mogą być trudne do debugowania i najlepiej ich unikać.

Rozważ użycie języka TypeScript w przypadku kodu o jednoznacznie określonym typie, który kompiluje się do kodu JavaScript. W TypeScript Twój kod jest sprawdzany w czasie kompilacji, aby zminimalizować błędy środowiska uruchomieniowego w kodzie produkcyjnym.

Udział Udział Ćwierkać E-mail Powiązane tematy
  • Programowanie
  • JavaScript
  • Wskazówki dotyczące kodowania
O autorze Dobrze iść(36 opublikowanych artykułów)

Mwiza z zawodu zajmuje się tworzeniem oprogramowania i pisze obszernie na Linuksie i programowaniu front-end. Niektóre z jego zainteresowań obejmują historię, ekonomię, politykę i architekturę przedsiębiorstwa.

Więcej od Mwizy Kumwendy

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować