1. Objeto Number
console.log(typeof(Number("25"))); //number
2. parseInt
console.log(typeof(parseInt("25",10))); //number
3. Operador +
console.log(typeof(+"25")); //number
4. Hack: restando 0
console.log(typeof("25" - 0)); //number
Todos los ejemplos solo funcionan con cadenas validas, si intentamos convertir cadenas no validas obtendremos en todos los casos un NaN:
console.log(Number("25xw")); //NaN
console.log(parseInt("rr25", 10)); //NaN
console.log(+"25ccs"); //NaN
console.log("25EE" - 0); //NaN
Conclusiones
Para llegar a Roma existe más de un camino.
Top comments (2)
Hola Cristian,
Soy fan de este contenido. Confieso que muchas ocasiones me tomó largo tiempo entender bien lo que hace el código.
Por la misma razón, desarrollé una extensión para navegador que explica código con inteligencia artificial. Se llama ExplainDev (explain.dev/), ¿te gustaría probarla?
Hola Cristian, un pequeño tip,
parseIntfunciona también con cadenas "no válidas" (nótese las comillas). Por ejemplo si intentasconsole.log(parseInt("25rr", 10));el output será25y es porqueparseIntempieza a parsear hasta que la cadena deja de ser válida. Esta es una razón por la que siempre he recomendado el uso deNumberen aplicaciones que manejan dinero.La otra diferencia es que recuerda que Number al intentar parse todo un número, podrá convertir
Number("2e2")como salida tendrás200, mientras que enparseIntsería un2.Saludos desde Guatemala!