back to top

Javascript: undefined e null, che differenza c’è?

Javascript è un linguaggio molto completo, talmente completo da presentare alcuni costrutti sintattici apparentemente simili ma concettualmente anche notevolmente diversi; in questo post verranno analizzate le differenze esistenti tra undefined e null, due entità che se non interpretate in modo univoco potrebbero essere utilizzate in sostituzione l’una dell’altra, generando così eccezioni e comportamenti inattesi.

A tal proposito è possibile sottolineare innanzitutto che:

  • undefined viene impiegato per rappresentare il fatto che una variabile non è stata dichiarata; quest’ultima, inoltre, potrebbe essere stata dichiarata ma non ancora assegnata ad un valore specifico;
  • null è invece un’assegnazione di valore che significa "nessun valore".

Dal punto di vista delle modalità secondo le quali Javascript lavora con tali entità si può sostenere che il linguaggio imposta le variabili non assegnate associando loro un valore predefinito (default value) per undefined, un valore invece non verrà mai impostato da JavaScript su null, dovrà essere quindi lo sviluppatore a stabilire che una variabile non dovrà avere un valore.

Il fatto che tra i due costrutti esistano delle differenze definite nativamente in JavaScript può essere dimostrato grazie all’impiego degli operatori; si ipotizzi per esempio di sottoporre una variabile ad un controllo di identità:

if (typeof tmp === "undefined") {
  alert('variabile undefined');
}
elseif (tmp === null) {
  alert('variabile null');
}

In questo modo sapremo se una variabile è undefined o null.

Importante osservare che l’operatore di uguaglianza ("==") considera undefined e null uguali, restituendo TRUE, mentre lo stesso non accadrà utilizzando il già citato operatore di identità ("===") che invece restituirà FALSE.

Si ricordi inoltre che entrambi sono dei costrutti primitivi falsi dal punto di vista booleano, tale caratteristica però non li rende intercambiabili.

Pubblicitร 
Claudio Garau
Claudio Garau
Web developer, programmatore, Database Administrator, Linux Admin, docente e copywriter specializzato in contenuti sulle tecnologie orientate a Web, mobile, Cybersecurity e Digital Marketing per sviluppatori, PA e imprese.

Leggi anche...

Infinite scroll, come programmarlo su AMP e su Web con Javascript

L'infinite scroll è una tecnica di design e navigazione...

Codice Fiscale: 5 javascript per la verifica e il calcolo

Il codice fiscale รจ un identificativo tributario univoco che...

Math.ceil() – Arrotondare per eccesso con Javascript

Il metodo ceil() dell'oggetto Math di Javascript è utilizzato...

Minificare Javascript: librerie e strumenti online per comprimere il sorgente JS

La minificazione è un processo abbastanza diffuso nell'implementazione delle...

Javascript: svuotare un campo input o una textarea con un click

Quando si fornisce agli utenti un modulo per l'inserimento...

6 video player HTML5 per il tuo sito web

Con il rilascio delle specifiche definitive per HTML5 molte...
Pubblicitร