Cette valeur est renvoyée lorsqu'une variable non déclarée est utilisée, ou lorsqu'une variable qui a été déclarée mais à laquelle aucune valeur n'est affectée, ou lorsqu'une propriété d'objet qui n'existe pas est utilisée.
Bien que indéfini et null ne soient pas identiques, l'opérateur == les traite comme égaux, comme
mon.prop == null
Si la propriété prop n’existe pas, ou si elle existe mais a une valeur null, alors cette expression est évaluée comme vraie.
Lorsqu'une valeur non définie est utilisée dans un environnement booléen, elle est convertie en faux, lorsqu'elle est utilisée dans un environnement numérique, elle est convertie en NaN et lorsqu'elle est utilisée dans un environnement chaîne, elle est convertie en « non défini ».