Deo zbornika Napredni Javaskript

Razlika null i undefined

Nepostojeće vrednosti su izvor zabune u mnogim programskim jezicima. Javascript ima dve nepostojeće vrednosti - null i undefined.

null (prazno)

Vrednost null se koristi da označimo da je varijabla prazna. Obično null inicijalno dodelimo varijabli koja kasnije dobija pravu vrednost. Vrednost null je tipa objekat:

> typeof null
"object"

undefined (nedefinisano)

Ako pokušamo da upotrebimo nepostojeću promenljivu, dobićemo grešku:

> x
ReferenceError: x is not defined

Ali ako upotrebimo typeof operator na nepostojeću promenljivu, dobićemo "undefined" (string):

> typeof x
"undefined"

Nedefinisana vrednost se podrazumevano dodeljuje varijablama bez vrednosti. Ako deklarišemo promenljivu bez dodele vrednosti, JavaScript je inicijalizuje pomoću vrednosti undefined (bez navodnika):

> let x
> x
undefined

Kada ispitamo tip promenljive koja ima vrednost undefined, dobićemo string "undefined":

> let x
> typeof x
"undefined"

Takođe, ako ispitamo samu primitivnu vrednost undefined dobićemo isti rezultat:

> typeof undefined
"undefined"

Primer

Poređenje sa "undefined" možemo koristiti da proverimo je li promenljiva definisana:

if (typeof x !== "undefined") {
  // uradi nesto
}

Ovo jednako važi ako promenljiva x ne postoji, ili ako je deklarisana bez dodele vrednosti.

Literatura

  • Ved Antani, Stojan Stefanov, Objektno-orjentisan JavaScript, Beograd, 2017.