undefined w JavaScript

Słownik kwalifikacji INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Czym jest undefined w JavaScript?

undefined to specjalna wartość w JavaScript oznaczająca, że zmienna istnieje, ale nie ma przypisanej wartości. Najczęściej pojawia się po zadeklarowaniu zmiennej bez inicjalizacji.

var y;
document.write(y); // undefined

W powyższym przykładzie zmienna y została utworzona, ale nie przypisano do niej żadnej liczby, tekstu ani innej wartości.

undefined a działania arytmetyczne

Jeżeli spróbujemy wykonać działanie matematyczne na undefined, JavaScript próbuje zamienić tę wartość na liczbę. Ponieważ undefined nie da się sensownie przeliczyć na liczbę, wynikiem jest zwykle NaN.

var y;
++y;
document.write(y); // NaN

Operator ++ zwiększa wartość o 1, ale undefined + 1 nie daje poprawnej liczby, więc powstaje NaN.

Ważne na egzaminie

W pytaniach egzaminacyjnych często trzeba odróżnić:

  • zmienną zadeklarowaną, ale bez wartości: undefined,
  • wynik błędnego działania liczbowego: NaN,
  • pustą wartość ustawioną celowo: null.

Przykład:

var x = 1;
var y;
++y;              // y staje się NaN, ale nie jest wypisywane
 document.write(++x); // wypisze 2

Jeśli zmienna undefined nie jest wypisywana, jej wpływ na wynik może być żaden. Trzeba więc śledzić tylko te instrukcje, które faktycznie trafiają do document.write().