Saltar la navegación

1.3.1.- Conversiones de tipos de datos.

Ilistración de una tabla y una verificación en verde.
Everaldo Coelho (GNU/GPL)

Aunque los tipos de datos en JavaScript son muy sencillos, a veces te podrás encontrar con casos en los que las operaciones no se realizan correctamente, y eso es debido a la conversión de tipos de datos. JavaScript intenta realizar la mejor conversión cuando realiza esas operaciones, pero a veces no es el tipo de conversión que a ti te interesaría.

Por ejemplo cuando intentamos sumar dos números:

console.log(4 + 7);    // Muestra por consola: 11

Si uno de esos números está en formato de cadena de texto, JavaScript lo que hará es intentar convertir el otro número a una cadena y los concatenará, por ejemplo:

console.log(4 + '7');     // Muestra por consola: 47 (como cadena)

Otro ejemplo podría ser:

console.log(1 + 2 + '3');     // Muestra por consola: 33 (como cadena)

Esto puede resultar ilógico pero sí que tiene su lógica. La expresión se evalúa de izquierda a derecha. La primera operación funciona correctamente devolviendo el valor de 3 pero al intentar sumarle la cadena de texto 3, JavaScript lo que hace es convertir ese número a una cadena de texto y se lo concatenará al  otro 3.

Para convertir cadenas a números dispones de las funciones: parseInt() y parseFloat().

Por ejemplo:

console.log(parseInt('34'));              // Muestra por consola: 34
console.log(parseInt('89.76'));         // Muestra por consola: 89
console.log(parseFloat('34'));          // Muestra por consola: 34
console.log(parseFloat('3.14'));       // Muestra por consola: 3.14
console.log(1 + 2 + parseInt('3'));    // Muestra por consola: 6

Si lo que deseas es realizar la conversión de números a cadenas, es mucho más sencillo, ya que simplemente tendrás que concatenar una cadena vacía al principio, y de esta forma el número será convertido a su cadena equivalente:

console.log('' + 2020);        // Muestra por consola: 2020 (como cadena);

Cuando enlazamos o unimos dos o más partes para formar algo más grande.