Come verificare se qualcosa è undefined in JavaScript

di Lorenzo Neri
0 commento 81 visualizzazioni

Qual è il modo migliore per verificare se una variabile o un oggetto in JavaScript è indefinito? In questo articolo vediamo come è possibile verificare se qualcosa è undefined in JavaScript.

Penso di averlo scritto un macello di volte ormai che JavaScript è veramente pieno di assurdità: così tante che ho dovuto scriverle tutte in un articolo che trovi qui.

E di fatto partiamo dal modo più assurdo di verificare se una variabile o un oggetto sono undefined.

Verifica da matti undefined

Ti voglio mostrare questo modo per primo:

var undefined = false;
if (variabileDaControllare === undefined){
   console.log("Variabile non dichiarata!!!");
}

Hai sicuramente notato qualcosa di stranissimo vero?

Ebbene sì, in JavaScript puoi usare “undefined” per creare una variabile PUR ESSENDO UNA PAROLA RISERVATA.

OVVIAMENTE non farne uso, ma non potevo non farti vedere questo metodo. Passiamo ai metodi che funzionano.

Verificare se una variabile o un oggetto è undefined in JavaScript

Qua, vediamo la prima verifica:

if (typeof variabileDaVerificare === "undefined"){
   console.log("variabileDaVerificare non è definita!");
}

Semplice, rapido e indolore. Si tratta di utilizzare l’operatore “===” per eseguire una verifica coincidente sul tipo, che nel nostro caso è undefined.

Ora, passiamo ad un altro controllo.

Come verificare se una proprietà di un oggetto è undefined

Sia mai che ti capiti di avere qualche particolare proprietà impostata come undefined.

Per verificarla:

if (typeof mioOggetto.ProprietaDaControllare === "undefined"){
   console.log("La proprietà non è definita.");
}

Quindi, abbiamo visto come verificare se qualcosa in linea generale è undefined in JavaScript.

No, c’è una piccolezza che potrebbe smontarti tutto.

Ci hai fatto caso che sono stringhe gli elementi usati nel confronto?

Errori di sintassi durante il controllo

Potrebbe capitarti di scrivere per spensieratezza qualcosa come “undefned” oppure “undefained” e tu manco ci fai caso.

Naturalmente, i due metodi visti prima funzionano eccome! Ma per essere sicuro al 100% ti conviene fare così:

if (variabile === undefined){
   console.log("Variabile non definita");
}

Diversamente, per le proprietà degli oggetti:

if (oggetto.ProprietàDaControllare === undefined){
   console.log("Proprietà non definita");
}

Tieni presente che anche i metodi visti prima funzionano, ma in questo modo eviterai errori di digitazione e potrai essere sicuro di fare le tue verifiche 🙂

Potrebbero interessarti

Lascia un commento

Questo sito potrebbe fare uso di cookie e siccome l'UE mi obbliga a fartelo presente, eccoti il classico banner dove puoi decidere come gestirli. Accetta Leggi di più