Diferencia entre null y undefined en JavaScript

En este momento estás viendo Diferencia entre null y undefined en JavaScript
  • Autor de la entrada:
  • Categoría de la entrada:Javascript
  • Tiempo de lectura:5 minutos de lectura

Cuando programamos en JavaScript, es común encontrar dos términos que pueden confundirnos debido a su aparente similitud: null y undefined. Ambos términos se refieren a la ausencia de un valor en una variable, pero tienen diferencias importantes.

En este tutorial, veremos qué son null y undefined, de qué manera se diferencian y cómo utilizarlos correctamente en nuestro código.

¿Qué es null?

En JavaScript, null es un valor especial que se utiliza para indicar que una variable no tiene valor, es decir, no apunta a ningún objeto ni contiene ningún dato. Podemos pensar en null como una variable vacía. Podemos asignar null a una variable para eliminar su valor anterior o indicar que no tiene valor.

Por ejemplo:

let miVariable = null;
console.log(miVariable); // devuelve null

En este caso, hemos asignado null como valor a la variable miVariable. Cuando imprimimos su valor por consola, lo que recibimos es null.

¿Qué es undefined?

Por otro lado, undefined se refiere a una variable que no ha sido declarada o asignada. Otras formas en las que podemos obtener undefined son:

  • Declaración de variable sin asignación: si declaramos una variable y no le asignamos valor, la variable tendrá el valor undefined.
let miVariable;console.log(miVariable); // devuelve undefined
  • Acceso a una propiedad inexistente de un objeto: si intentamos acceder a una propiedad inexistente de un objeto, recibiremos undefined.
const obj = {
  nombre: 'Juan',
  edad: 26
};
console.log(obj.direccion); // devuelve undefined

En este ejemplo, el objeto llamado obj no tiene la propiedad «direccion», por lo que al intentar acceder a esta propiedad, se devuelve undefined.

  • Funciones sin retorno: si una función no tiene una instrucción return o si lo tiene pero no devuelve ningún valor, entonces la función devuelve undefined por defecto.
function miFuncion() {
  console.log('Hola mundo');
}
console.log(miFuncion()); // devuelve undefined

En este caso, la función miFuncion imprime por consola el mensaje «Hola mundo», pero no devuelve ningún valor explícitamente, por lo que su retorno es undefined.

Diferencias entre null y undefined

La principal diferencia entre null y undefined es que null es un valor asignado explicitamente por el programador, mientras que undefined es un valor que se asigna automáticamente por JavaScript en ciertas circunstancias.

Esta diferencia tiene implicaciones importantes en la manera en que utilizamos estos valores.

  • null se utiliza para indicar que una variable no tiene valor, por lo que podemos asignarlo a una variable previamente declarada.
let miVariable;
miVariable = null;
  • undefined se refiere a una variable que no ha sido declarada o asignada. Si tratamos de asignar undefined a una variable, estamos declarando una nueva variable con el valor undefined, lo que puede dar lugar a errores.
let miVariable = undefined; // no es recomendable
  • Cuando comprobamos si una variable tiene un valor (o si no tiene valor), utilizamos la comparación con undefined, en lugar de con null.
let miVariable = null;

if (miVariable === undefined) {
  console.log('La variable no está definida');
} else {
  console.log('La variable tiene un valor asignado');
}

En este ejemplo, la comprobación de si la variable tiene valor se realiza con la comparación con undefined, ya que null indica un valor asignado explícitamente.

Artículos Relacionados
Orlando José-Rivera
Últimas entradas de Orlando José-Rivera (ver todo)

Deja una respuesta