Skip to main content
entrevistas

¿Cuál es la diferencia entre 'null' y 'undefined' en JavaScript y cuál utilizar?

Autor: Reynaldo Navedo

Publicado: Actualizado:

En JavaScript, null y undefined son dos valores que indican la ausencia de un valor significativo, pero tienen algunas diferencias importantes.


null en JavaScript:

El valor null es un valor especial que representa la ausencia intencional de cualquier valor o referencia a un objeto. Se utiliza cuando queremos indicar explícitamente que una variable no tiene un valor válido.


let miVariable = null; 


Situaciones en las que podríamos usar null:

  1. Cuando queremos indicar que una variable no tiene un valor válido en un momento específico.
  2. Como un valor inicial para una variable que más tarde será asignada a un objeto o valor concreto.


undefined en JavaScript:

El valor undefined indica que una variable ha sido declarada pero aún no ha sido asignada con ningún valor.


let otraVariable; console.log(otraVariable); // Output: undefined 


Situaciones en las que undefined puede ocurrir:

  1. Cuando declaramos una variable pero no le asignamos ningún valor.
  2. Si intentamos acceder a una propiedad de un objeto que no existe.
  3. Cuando se olvida de devolver un valor desde una función (en este caso, la función devuelve undefined implícitamente).


function sinRetorno() { // Esta función no tiene una declaración de retorno, por lo tanto, devuelve undefined. } 
let objeto = { nombre: "Juan", edad: 30 }; 
console.log(objeto.direccion); // Output: undefined 


Diferencias Clave:

  1. null es asignado explícitamente por el programador para indicar que una variable no tiene un valor válido. undefined generalmente es asignado automáticamente por JavaScript para indicar que una variable no tiene un valor asignado.
  2. null es un valor primitivo, mientras que undefined es un tipo de dato primitivo y también es un valor especial de JavaScript.
  3. null puede ser asignado a una variable para indicar que no tiene un valor válido. undefined generalmente indica que una variable no ha sido inicializada o que una propiedad de un objeto no existe.


En resumen, null se utiliza cuando queremos indicar explícitamente que una variable no tiene un valor válido, mientras que undefined se utiliza cuando una variable no ha sido inicializada o cuando intentamos acceder a una propiedad que no existe en un objeto.

Comparte este contenido