• Jobs
  • About Us
  • professionals
    • Home
    • Jobs
    • Courses and challenges
  • business
    • Home
    • Post vacancy
    • Our process
    • Pricing
    • Assessments
    • Payroll
    • Blog
    • Sales
    • Salary Calculator

0

150
Views
simplificar la validación de números en la declaración if JavaScript

Estoy validando mi tiempo de esta manera.

 if ( timeInMins != 0 && timeInMins != "0" && timeInMins != undefined && timeInMins != "undefined" && timeInMins != null && timeInMins != "" && !isNaN(timeInMins) ) { timeInMinsCumulative += parseFloat(timeInMins); }

¿Hay alguna forma de convertir este feo if-check en un código sofisticado?

about 3 years ago · Juan Pablo Isaza
3 answers
Answer question

0

Esto utiliza el comportamiento de coerción de JavaScript y el operador lógico AND para simplificar su código. Lo siguiente es casi equivalente a su código, pero también protegerá contra los argumentos false y 0n .

 if (timeInMins && timeInMins !== '0' && timeInMins !== 'undefined') { // whatever }

Preguntas para ti: ¿realmente esperas que te pasen la cadena 'undefined' ? ¿Por qué desea protegerse contra el envío de '0' a parseFloat ? ¿Estás seguro de que parseInt no es lo que quieres?

about 3 years ago · Juan Pablo Isaza Report

0

Hay 6 valores falsos en javascript: undefined , null , NaN , 0 , "" (cadena vacía) y false , por supuesto.

Entonces, puedes escribir

 if (timeInMins && timeInMin !== '0') { timeInMinsCumulative += parseFloat(timeInMins); }
about 3 years ago · Juan Pablo Isaza Report

0

Parece que desea verificar si timeInMins es un tipo de Number preciso o no.

 function isValidNumber(num) { return typeof num === "number" && !isNaN(num); } console.log(isValidNumber("")); console.log(isValidNumber(undefined)); console.log(isValidNumber(NaN)); console.log(isValidNumber("undefined")); console.log(isValidNumber(true)); console.log(isValidNumber(false)); console.log(isValidNumber(0)); console.log(isValidNumber("0")); console.log(isValidNumber(1.234));

about 3 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Our process Sales
Legal
Terms and conditions Privacy policy
© 2025 PeakU Inc. All Rights Reserved.

Andres GPT

Recommend me some offers
I have an error