me ha sorprendido que te funcionase. así que he buscado información sobre isNaN y resulta que fuerza la conversión del parámetro a número. por lo tanto el ejemplo que puse anteriormente no es correcto
Cita: console.log(isNaN(1)); // false
console.log(isNaN('1')); // false --> esto es lo que estás recibiendo