Sobes.tech
Junior

Spiega più dettagliatamente i valori null e undefined in JavaScript.

sobes.tech AI

Risposta dell'AI

  • undefined:

    • Valore implicito assegnato alle variabili dichiarate ma non inizializzate.
    • Restituito anche da funzioni che esplicitamente non restituiscono un valore.
    • È un tipo di dato primitivo.
    • L'operatore typeof restituisce la stringa "undefined".
  • null:

    • Valore esplicito assegnato a una variabile per indicare l'assenza di qualsiasi oggetto.
    • Rappresenta l'assenza intenzionale di qualsiasi valore di oggetto.
    • È un tipo di dato primitivo, ma l'operatore typeof restituisce erroneamente "object" (bug storico).
Proprietà undefined null
Origine Implicita (dal sistema) Esplicita (dallo sviluppatore)
Tipo Primitivo Primitivo (anche se typeof - object)
Valore Variabile non inizializzata Assenza di oggetto
// Esempio di undefined
let variabileNonInizializzata;
console.log(variabileNonInizializzata); // undefined

function nessunValoreDiRitorno() {
  // nessun return
}
console.log(nessunValoreDiRitorno()); // undefined
console.log(typeof variabileNonInizializzata); // undefined

// Esempio di null
let variabileOggetto = null;
console.log(variabileOggetto); // null
console.log(typeof variabileOggetto); // object (bug storico)