Como hemos visto en la sección de variables, podemos asignar cualquier tipo de valor primitivo o no primitivo a una variable. JavaScript incluye dos valores de tipo primitivo adicionales, nulo e indefinido, que se pueden asignar a una variable que tiene un significado especial.
null
Puede asignar null a una variable para indicar que actualmente esa variable no tiene ningún valor pero lo tendrá más adelante. Un nulo significa ausencia de un valor.
En el ejemplo anterior, se asigna un valor nulo a una variable myVar. Significa que hemos definido una variable pero no hemos asignado ningún valor todavía, por lo que valor es ausencia.
Si intenta encontrar el elemento DOM usando document.getElelementByID, por ejemplo, y si se encuentra el elemento, devolverá null. Por lo tanto, se recomienda verificar si hay nulo antes de hacer algo con ese elemento.
Un valor nulo se evalúa como falso en una expresión condicional. Por lo tanto, no tiene que usar operadores de comparación como === o! == para verificar valores nulos.
undefined
Indefinido es también un valor primitivo en JavaScript. Una variable o un objeto tiene un valor indefinido cuando no se asigna ningún valor antes de usarlo. Por lo tanto, puede decir que indefinido significa falta de valor o valor desconocido.
En el ejemplo anterior, no hemos asignado ningún valor a una variable llamada «myVar». Una variable «myVar» carece de valor. Por lo tanto, no está definida.
Usted obtendrá un valor indefinido cuando llame a una propiedad o método inexistente de un objeto.
En el ejemplo anterior, una función Sum no devuelve ningún resultado, pero aun así intentamos asignar su valor resultante a una variable. Entonces, en este caso, el resultado será indefinido.
Si pasa menos argumentos en la llamada a la función, ese parámetro tendrá un valor indefinido.
Un indefinido se evalúa como falso cuando se usa en una expresión condicional.
null e undefined es una de las principales razones para producir un error de tiempo de ejecución en la aplicación JavaScript. Esto sucede si no verifica el valor de las variables de retorno desconocidas antes de usarlo. Si no está seguro de que una variable siempre tendrá algún valor, la mejor práctica es verificar el valor de las variables en busca de nulos o indefinidos antes de usarlos.
- null y undefined son valores primitivos en JavaScript.
- Un valor nulo significa ausencia.
- Un valor indefinido significa falta de valor.
- Un valor nulo o indefinido se evalúa como falso en una expresión condicional.