Convertir un tipo significa transformar un valor para trabajar con él de otra manera. En JavaScript puede ocurrir de forma explícita, cuando el código lo solicita, o implícita, cuando el lenguaje lo hace automáticamente.
JavaScript
const input ="25";const age =Number(input);
console.log(age);// 25
console.log(typeof age);// "number"
El resultado debe validarse cuando el valor proviene del usuario:
JavaScript
functionparseAge(input){const age =Number(input);if(!Number.isInteger(age)|| age <0){thrownewError("La edad debe ser un número entero válido");}return age;}
Usa Number cuando todo el texto debe representar un número. Usa parseInt o parseFloat cuando el formato incluye una unidad conocida que necesitas separar.
No es necesario memorizar cada combinación extraña. Lo importante es reconocer que mezclar tipos puede producir resultados difíciles de leer y mantener.
Este resultado funciona por coerción, pero depende de comportamiento implícito.
Es mejor convertir y validar:
JavaScript
const quantity =Number(quantityInput);if(!Number.isInteger(quantity)|| quantity <=0){thrownewError("La cantidad debe ser un entero mayor que cero");}const total = quantity * unitPrice;
URLSearchParams.get devuelve un string o null, por lo que convertir y validar evita errores silenciosos.
JavaScript
functionparsePositiveInteger(value, fallback){const number =Number(value);return Number.isInteger(number)&& number >0? number
: fallback;}const page =parsePositiveInteger(params.get("page"),1);
Si null significa “no existe precio”, convertirlo a cero cambia el significado del dato.
JavaScript
functionparsePrice(value){if(value ===null|| value ===undefined|| value ===""){returnnull;}const price =Number(value);if(!Number.isFinite(price)){thrownewError("Precio inválido");}return price;}
Number("20");// 20Number("20px");// NaNparseInt("20px",10);// 20"10"+5;// "105""10"-5;// 5Boolean("false");// true, porque es un string no vacíoBoolean("");// false