Null, undefined y cero

Hoy toca hablar de 3 conceptos clave; esto es, null, undefined y cero en JavaScript. Veamos que no son tres cosas iguales, usando distintos ejemplos.

null

Cero

En primer lugar, hablaremos del concepto cero. Creo que esto está bastante claro.

var miVariable1 = 0;
alert(miVariable1);

Muestra 0. Aquí no hay ninguna duda. El valor de miVariable es 0.

alert(typeof miVariable1);

Muestra number. En verdad, 0 es un número.

Null

En segundo lugar, null es distinto de 0. Además, es un valor asignado. Puede asignarse a una variable como representación de ningún valor:

var miVariable2 = null; 
alert(miVariable2);

Muestra null.

alert(typeof miVariable2);

Muestra object.

Undefined

En este ejemplo

var x;
if (x === undefined) {
   alert("x es undefined");
} else {
   alert("x es defined");
}

Muestra x es undefined. Esto quiere decir, que la variable x no ha sido asignada previamente, es decir, que no existe en la forma

var x = "un valor cualquiera";

También, podemos decir que undefined representa el valor primitivo undefined.

Otra propiedad de undefined es que se trata de una variable de alcance global.

Por último, hemos utilizado el comparador de estrictamente igual “===”, porque

x == undefined

También verifica si x es null.

Diferencias

Si una variable es:

  • undefined. En JavaScript, no existe. O bien no ha sido asignada o jamás se le asignó un valor.
  • null. En JavaScript, la variable existe. En algún momento, explícitamente, la variable se estableció a este valor nulo.

Por tanto, se trata, como dirían los filósofos, de un problema de existencia.

Preguntas de examen

Pregunta 1 ¿Es verdadero o falso?

undefined == null

Pregunta 2 ¿Es verdadero o falso?

undefined === null

En la primera pregunta, la respuesta es verdadero o true.

Sin embargo, en la segunda pregunta, la respuesta es falso o false. Como ya habíamos anteriormente, el operador de estrictamente igual, sí que diferencia entre null y undefined.

Por último, para terminar os recomiendo que busquéis más ejemplos en el mundo digital, por si no os ha quedado claro.

También puede interesarte

Funciones en JavaScript

Clases y objetos. Su uso

Propiedades con arrays en JavaScript

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *