Sobes.tech
Junior

Qual è la differenza tra null e undefined?

sobes.tech AI

Risposta dell'AI

undefined indica l'assenza di un valore assegnato. La variabile è dichiarata, ma a essa non è stato assegnato alcun valore. È il risultato dell'accesso a una proprietà o elemento di array inesistente.

null è un'assegnazione esplicita del valore "assenza di valore". Lo sviluppatore indica intenzionalmente che la variabile o la proprietà di un oggetto non hanno valore. È un oggetto, ma non un primitivo per tipo (anche se typeof null restituisce 'object', il che è un errore storico del linguaggio).

// undefined
let x;
console.log(x); // undefined

const obj = {};
console.log(obj.prop); // undefined

// null
let y = null;
console.log(y); // null

const obj2 = { prop: null };
console.log(obj2.prop); // null