Sobes.tech
Junior

Qual é a diferença entre null e undefined?

sobes.tech IA

Resposta da IA

undefined indica a ausência de um valor atribuído. A variável está declarada, mas não lhe foi atribuído nenhum valor. É o resultado de aceder a uma propriedade ou elemento de matriz que não existe.

null é uma atribuição explícita do valor "ausência de valor". O programador indica intencionalmente que a variável ou propriedade do objeto não têm valor. É um objeto, mas não um primitivo por tipo (embora typeof null retorne 'object', o que é um erro histórico da linguagem).

// 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