He escuchado en algunos videos y blogs que no debemos asignar undefined a una variable en JavaScript explícitamente en nuestro código, sino que debemos usar null. ¿Por qué sin embargo?
Mi conclusión es que indefinido, nos permite saber que una variable aún no se ha inicializado, si la inicializamos en nuestro código y luego la hacemos indefinida en una etapa posterior, perdería su propósito, por lo que deberíamos usar nulo en su lugar.
Puede haber un caso en el que su lógica dicte que si obtiene una variable indefinida, entonces el flujo debería ser diferente al caso en el que obtiene un valor nulo.
Undefined indica un caso de uso muy específico. Significa que el valor no está inicializado y no sabe cuál es el valor. El problema es que no querría obtener "indefinido" como salida mientras trabaja con su código a menos que indique un problema relacionado con la falta de asignación. Los valores nulo, NaN y vacío indican la falta de un valor en lugar de la falta de asignación, que suele ser el comportamiento deseado.