¿Cuál es la diferencia entre nulo e indefinido en JavaScript?


Hablemos primero de las similitudes.

nullyundefinedson tipos primitivos de JavaScript.

El significado deundefinedes decir que se ha declarado una variable, pero no tiene ningún valor asignado.

let age //age is undefined
let age = null //age is null

Nota: acceder a una variable que no ha sido declarada generará unReferenceError: <variable> is not definederror, pero esto no significa que seaundefined.

¿Cómo se comprueba si una variable es nula? Utilice el operador de comparación, por ejemploage === null

Lo mismo para indefinido:age === undefined

En ambos casos, puede verificar:

if (!age) {

}

y esto coincidirá con ambosnullyundefined.

También puede utilizar eltypeofoperador:

let age
typeof age //'undefined'

aunquenullse evalúa como un objeto, aunque es un tipo primitivo:

let age = null
typeof age //'object'

Más tutoriales de js: