¿Cuál será el resultado del siguiente fragmento de código?
let stringToNum = parseInt("123ab");

Entendiendo la Función parseInt en JavaScript

La función parseInt en JavaScript es increíblemente útil cuando se trata de convertir strings a números enteros. Esto resulta muy práctico cuando recibimos información en formato de texto, pero necesitamos trabajar con ella numéricamente.

El fragmento de código presentado en la pregunta: let stringToNum = parseInt("123ab"); es un excelente ejemplo para explicar cómo parseInt maneja ciertos casos peculiares.

¿Por qué parseInt devuelve 123?

Si lo piensas, puedes esperar que parseInt arroje un error o resulte en NaN (Not a Number) al intentar convertir el string "123ab" en un número, considerando que dicho string incluye caracteres que obviamente no son numéricos. Sin embargo, aquí es donde la función parseInt muestra su flexibilidad.

La función parseInt comienza a leer el string desde el principio hasta que encuentra un carácter que no puede convertirse en un número. Una vez que encuentra un carácter no numérico, deja de leer y devuelve el número que ha acumulado hasta ese momento.

En nuestro caso, parseInt comienza a leer "123ab", convierte los caracteres "123" en el número 123, pero luego se topa con la letra 'a', la cual no puede convertir en un número. Por lo tanto, deja de leer y devuelve el número que ha acumulado, que es 123.

Aplicaciones y mejores prácticas de parseInt

Mientras parseInt sea muy útil, también es importante notar que el manejo laxo de los datos de entrada puede ocasionar errores sutiles si no se tiene cuidado. Por ejemplo, si usas parseInt en un string que comienza con un carácter no numérico, la función devolverá NaN en lugar de un número.

Por lo tanto, antes de usar parseInt, es una buena práctica asegurarse de que el string que estás convertiendo cumpla con las expectativas. También es recomendable combinar la función parseInt con isNaN para comprobar si el resultado es un número válido.

En conclusión, la función parseInt es una herramienta muy útil en JavaScript para convertir strings en números. Sin embargo, debido a su flexibilidad, es importante comprender claramente cómo funciona y cuándo usarla para evitar errores inesperados.

¿Te resulta útil?