
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.