null, undefined ambos valores van a representar un valor ausente. undefined es una variable que no ha sido inicializada, no se le asigna valor. En cambio, cuando creo una variable y le asigno un valor de null, significa que la variable está vacía y el valor intencionalmente vacío está hecho por el programador, mientras que undefined está hecho por Javascript cuando detecta que una variable no tiene valor. NaN son casos particulares de Javascript.
- null: intencionalmente el programador le ha asignado el valor null. Indica la ausencia de un valor.
- undefined: Javascript detecta que no tiene valor. Indica que no se ha inicializado la variable y que el valor está ausente.
- NaN: not a number. Es cuando a una variable String la queremos por ejm multiplicar por un número, nos dirá que es un Nan.