Este valor se devuelve cuando se usa una variable no declarada, o una variable que ha sido declarada pero no tiene valor asignado, o se usa una propiedad de objeto que no existe.
Aunque indefinido y nulo no son lo mismo, el operador == los trata como iguales, como
mi.prop == nulo
Si la propiedad prop no existe, o si existe pero tiene un valor nulo, entonces esta expresión se evalúa como verdadera.
Cuando se usa un valor indefinido en un entorno booleano, se convierte a falso, cuando se usa en un entorno numérico, se convierte a NaN y cuando se usa en un entorno de cadena, se convierte a "indefinido".