Javascript redefine Infinito, NaN o “” como 0

Tengo una calculadora javascript que acepta la entrada del usuario, hace algunos cálculos y escribe el resultado en el campo de entrada “#theResult”

Dado que “#theResult” se actualiza en keyup, hay ocasiones en que “#theResult” devolverá Infinity, NaN o “” hasta que se completen todos los campos. Hasta que todos los campos estén completos, quiero que “#theResult” devuelva 0 en su lugar. Aquí está el código:

if (theResult === Infinity || theResult === "" || theResult === NaN) { theResult === 0; } $("#theResult").val(theResult); 

El código completo está aquí.

¡Gracias de antemano por cualquier ayuda!

Has usado theResult === 0 donde deberías haber usado theResult = 0 .

El === es para comparaciones. Cuando desee cambiar el valor de una variable, use el operador de asignación = .

Como dijo @zzzzBov, lo más sencillo es reemplazar todo con

  theResult = isFinite(theResult) && theResult || 0; // updated 

Sin embargo, eso pasa por alto las sutilezas de NaN ; si el usuario ha terminado y el resultado es realmente NaN , lo que muestra que 0 no es realmente correcto.