Sobes.tech
Junior

Fale mais sobre os valores null e undefined em JavaScript.

sobes.tech IA

Resposta da IA

  • indefinido:

    • Valor implícito atribuído a variáveis declaradas mas não inicializadas.
    • Também devolvido por funções que explicitamente não retornam valor.
    • É um tipo de dado primitivo.
    • O operador typeof devolve a string "undefined".
  • null:

    • Valor explícito atribuído a uma variável para indicar a ausência de qualquer objeto.
    • Representa a ausência intencional de qualquer valor de objeto.
    • É um tipo de dado primitivo, mas o operador typeof incorretamente devolve "object" (erro histórico).
Propriedade indefinido null
Origem Implícito (pelo sistema) Explícito (pelo programador)
Tipo Primitivo Primitivo (embora typeof - object)
Valor Variável não inicializada Ausência de objeto
// Exemplo de undefined
let variavelNaoInicializada;
console.log(variavelNaoInicializada); // undefined

function semValorDeRetorno() {
  // sem return
}
console.log(semValorDeRetorno()); // undefined
console.log(typeof variavelNaoInicializada); // undefined

// Exemplo de null
let variavelObjeto = null;
console.log(variavelObjeto); // null
console.log(typeof variavelObjeto); // object (erro histórico)