Conversión de Tipos en JavaScript: Explícita e Implícita

Clase 9 de 55Curso de Fundamentos de JavaScript

Resumen

¿Qué es el typecasting explícito en JavaScript?

Typecasting en JavaScript se refiere a convertir tipos de datos de manera explícita o implícita. Comencemos explorando la conversión explícita de tipos, uno de los métodos más comunes para manejar diferentes tipos de datos en nuestros programas.

Podemos convertir un string a un tipo numérico usando funciones como parseInt() y parseFloat(). Por ejemplo, podemos tener un string con un número "42" y convertirlo a un entero así:

const integer = parseInt("42");
console.log(typeof integer); // number

De manera similar, para convertir un string decimal como "3.14" a un número flotante:

const float = parseFloat("3.14");
console.log(typeof float); // number

JavaScript no distingue entre números enteros y decimales en cuanto al tipo de dato, ambos son considerados como number.

¿Cómo se convierte de binario a decimal?

Es posible convertir un número binario a decimal utilizando parseInt() con la base adecuada. Aquí un ejemplo práctico:

const binary = "1010";
const decimal = parseInt(binary, 2);
console.log(decimal); // 10

Este código convierte el número binario "1010" a su representación decimal que es 10.

¿Qué es el typecasting implícito en JavaScript?

JavaScript puede realizar conversiones de tipo sin intervención explícita del programador, esto se conoce como typecasting implícito. La suma de un string con un número ilustra este caso:

const resultado = "5" + 3;
console.log(resultado); // 53

En este ejemplo, JavaScript convierte el número 3 a un string y lo concatena con "5", dando como resultado "53".

¿Qué sucede con los booleanos?

Al combinar booleanos y otros tipos de datos, JavaScript también realiza conversiones. Por ejemplo:

const sumaConBoolean = "3" + true;
console.log(sumaConBoolean); // "3true"

Aquí el booleano true es convertido a string y luego concatenado. Sin embargo, si sumamos booleanos con números:

const sumaConNumero = 2 + true;
console.log(sumaConNumero); // 3

El booleano true es transformado a 1, resultando en una suma numérica.

Prueba tus conocimientos sobre typecasting

Para solidificar el aprendizaje, considera resolver el siguiente ejercicio:

Tienes el código:

const numero = "596";
const numeroConvertido = parseInt(numero);
console.log(typeof numero); // ?
console.log(typeof numeroConvertido); // ?

¿Cuáles son los tipos de datos que resultarán de los console.log? Las opciones son:

  • A) string y number
  • B) string y string
  • C) number y string

La respuesta correcta es A, porque el numero es inicialmente un string y después del parseInt, numeroConvertido se convierte en un number. Continúa explorando y practicando con code snippets para perfeccionar tus habilidades en typecasting en JavaScript.

¡Sigue asi! tu comprensión de estos conceptos básicos te permitirá escribir código más eficiente y adaptativo.