En este tutorial, aprenderá acerca de los tipos de datos nulos e indefinidos disponibles en JavaScript con la ayuda de ejemplos.
Hay 8 tipos de tipos de datos en JavaScript. Son:
| Tipos de datos | Descripción | 
|---|---|
| String | representa datos textuales | 
| Number | un entero o un número de punto flotante | 
| BigInt | un número entero con precisión arbitraria | 
| Boolean | Cualquiera de dos valores: verdadero o falso | 
| Object | pares clave-valor de recopilación de datos | 
| Symbol | un tipo de datos cuyas instancias son únicas e inmutables | 
| undefined | un tipo de datos cuya variable no está inicializada | 
| null | palabra clave especial que denota un valor nulo | 
undefinedy nullson los dos tipos de datos que discutiremos en este tutorial.
JavaScript indefinido
Si se declara una variable pero no se asigna el valor, entonces el valor de esa variable será undefined. Por ejemplo,
 let name; console.log(name); // undefined
También es posible asignar explícitamente undefineda una variable. Por ejemplo,
 let name = "Felix"; // assigning undefined to the name variable name = undefined console.log(name); // returns undefined
Nota: Por lo general, nullse utiliza para asignar un valor "desconocido" o "vacío" a una variable. Por lo tanto, puede asignar nulla una variable.
JavaScript nulo
En JavaScript, nulles un valor especial que representa un valor vacío o desconocido . Por ejemplo,
 let number = null;
El código anterior sugiere que la variable numérica está vacía en este momento y puede tener un valor más adelante.
Nota : nullno es lo mismo que NULL o Null.
Valores falsos
En JavaScript, undefinedy nullse tratan como valores falsos. Por ejemplo,
 if(null || undefined ) ( console.log('null is true'); ) else ( console.log('null is false'); )
Salida
nulo es falso
Un undefinedo nullse convierte en falsecuando se usa con la Boolean()función. Por ejemplo,
 let result; result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false 
JavaScript typeof: nulo e indefinido
En JavaScript, nullse trata como un objeto. Puede verificar esto usando el operador typeof. El typeofoperador determina el tipo de variables y valores. Por ejemplo,
 const a = null; console.log(typeof a); // object
Cuando typeofse usa el operador para determinar el undefinedvalor, regresa undefined. Por ejemplo,
 let a; console.log(typeof a); // undefined 
Valores predeterminados de JavaScript: nulo e indefinido
Antes de visitar esta sección, asegúrese de consultar el tutorial de parámetros predeterminados de JavaScript.
En JavaScript, cuando pasa undefineda un parámetro de función que toma un valor predeterminado, undefinedse ignora y se usa el valor predeterminado. Por ejemplo,
 function test(x = 1) ( console.log(x); ) // passing undefined // takes default value 1 test(undefined); // 1
Sin embargo, cuando pasa nulla una función de parámetro predeterminada, la función toma nullcomo valor. Por ejemplo,
 function test(x = 1) ( console.log(x); ) // passing undefined // takes null test(null); // null 
Comparación de nulos e indefinidos
Al comparar nully undefinedcon operador igual a ==, se consideran iguales. Por ejemplo,
 console.log(null == undefined); // true
En JavaScript, ==compara valores realizando una conversión de tipo. Ambos nully undefineddevuelven falso. Por lo tanto, nully undefinedse consideran iguales.
Sin embargo, al comparar nully undefinedcon estricto operador igual a ===, el resultado es falso. Por ejemplo,
 console.log(null === undefined); // false








