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().