Sobes.tech
Junior

Explica con más detalle los valores null y undefined en JavaScript.

sobes.tech AI

Respuesta de la IA

  • indefinido:

    • Valor implícito asignado a variables declaradas pero no inicializadas.
    • También devuelto por funciones que explícitamente no retornan valor.
    • Es un tipo de dato primitivo.
    • El operador typeof devuelve la cadena "undefined".
  • null:

    • Valor explícito asignado a una variable para indicar la ausencia de cualquier objeto.
    • Representa la ausencia intencionada de cualquier valor de objeto.
    • Es un tipo de dato primitivo, pero el operador typeof incorrectamente devuelve "object" (error histórico).
Propiedad indefinido null
Origen Implícito (por el sistema) Explícito (por el desarrollador)
Tipo Primitivo Primitivo (aunque typeof - object)
Valor Variable no inicializada Ausencia de objeto
// Ejemplo de undefined
let variableNoInicializada;
console.log(variableNoInicializada); // undefined

function sinValorDeRetorno() {
  // no hay return
}
console.log(sinValorDeRetorno()); // undefined
console.log(typeof variableNoInicializada); // undefined

// Ejemplo de null
let variableObjeto = null;
console.log(variableObjeto); // null
console.log(typeof variableObjeto); // object (error histórico)