Jak określić, czy zmienna jest niezdefiniowana czy zerowa w JavaScript

Reklamy

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
Reklamy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *