Temat: JavaScript / jQueryPrev | Dalej
Odpowiedź: Użyj operatora równości (==)
W JavaScript, jeśli zadeklarowano zmienną , ale nie została przypisana wartość, jest automatycznie przypisywana wartość undefined
. Dlatego jeśli spróbujesz wyświetlić wartość takiej zmiennej, pojawi się słowo „undefined”. Natomiast null
jest specjalną wartością przypisania, którą można przypisać do zmiennej jako reprezentację braku wartości.
Prostymi słowami można powiedzieć null
wartość oznacza brak wartości lub brak wartości, a undefined
oznacza zmienną, która została zadeklarowana, ale nie ma jeszcze przypisanej wartości.
Aby sprawdzić, czy zmienna jest niezdefiniowana lub zerowa, możesz użyć operatora równości ==
lub operatora ścisłej równości ===
(również zwany operatorem tożsamości). Spójrzmy na następujący przykład:
Jeśli spróbujesz przetestować wartości null
za pomocą typeof
operator nie będzie działał zgodnie z oczekiwaniami, ponieważ JavaScript zwraca „obiekt” dla typeof null
zamiast „null”.
Jest to długotrwały błąd w JavaScript , ale ponieważ wiele kodów w sieci zostało napisanych wokół tego zachowania, a tym samym naprawienie go stworzyłoby znacznie więcej problemów, więc pomysł naprawienia tego problemu został porzucony przez komitet projektujący i utrzymujący JavaScript.
Uwaga: undefined
nie jest zastrzeżonym słowem kluczowym w JavaScript, dlatego można zadeklarować zmienną o nazwie niezdefiniowany. Dlatego poprawnym sposobem przetestowania zmiennej lub właściwości undefined
jest użycie operatora typeof
, na przykład: if(typeof myVar === "undefined")
.
Powiązane pytania
Oto kilka najczęściej zadawanych pytań dotyczących tego tematu:
- Jak aby sprawdzić, czy zmienna istnieje lub jest zdefiniowana w JavaScript
- Jak sprawdzić, czy wartość jest numeryczna, czy nie w jQuery
- Jak sprawdzić, czy wartość istnieje w tablicy w JavaScript