CodeGym /Curso de Java /Frontend SELF ES /Conversión de tipos en JavaScript

Conversión de tipos en JavaScript

Frontend SELF ES
Nivel 35 , Lección 0
Disponible

1.1 Conversión de tipos explícita

La conversión de tipos en JavaScript es el proceso de transformar un valor de un tipo de dato a otro. Existen dos tipos de conversión: explícita (manual) e implícita (automática). Entender estos procesos es importante para prevenir errores y crear un código predecible.

La conversión explícita, también conocida como conversión manual, se realiza con funciones y métodos incorporados de JavaScript. Es una conversión en la que el programador indica explícitamente qué tipo de dato debe ser convertido a otro tipo.

Métodos principales de conversión explícita:

1. Conversión a cadena de texto

  • Método String(value): convierte un valor en una cadena de texto
JavaScript
    
      let num = 123;
      let str = String(num);
      console.log(typeof str); // "string"
    
  

  • value.toString(): método del objeto que convierte un valor en una cadena de texto
JavaScript
    
      let bool = true;
      let str = bool.toString();
      console.log(typeof str); // "string"
    
  

2. Conversión a número

  • Number(value): convierte un valor en un número
JavaScript
    
      let str = "456";
      let num = Number(str);
      console.log(typeof num); // "number"
    
  

  • parseInt(value, base): convierte una cadena de texto en un número entero. El parámetro base especifica la base del sistema numérico
JavaScript
    
      let str = "123";
      let num = parseInt(str, 10);
      console.log(typeof num); // "number"
    
  

  • parseFloat(value): convierte una cadena de texto en un número de coma flotante
JavaScript
    
      let str = "123.45";
      let num = parseFloat(str);
      console.log(typeof num); // "number"
    
  

3. Conversión a valor booleano

  • Boolean(value): convierte un valor en booleano
JavaScript
    
      let str = "";
      let bool = Boolean(str);
      console.log(typeof bool); // "boolean"
    
  

1.2 Conversión de tipos implícita

La conversión implícita, también conocida como automática o conversión oculta, es realizada automáticamente por JavaScript durante la ejecución de operaciones con diferentes tipos de datos. La conversión implícita puede llevar a resultados inesperados, por lo que debe ser comprendida y utilizada con precaución.

1. Conversión a cadena de texto

¡Importante!

Al sumar cualquier objeto con una cadena de texto, JavaScript intentará convertirlo en una cadena de texto.

Ejemplo:

JavaScript
    
      let result = "The number is " + 123;
      console.log(result); // "The number is 123"
    
  

2. Conversión a número

¡Importante!

Al utilizar cualquier operador aritmético (excepto +) con cadenas que contienen números.

JavaScript
    
      let result = "123" - 0;
      console.log(result); // 123 (número)
    
  

Cómo funciona en la práctica:

JavaScript
    
      let result = "123" - 10;
      console.log(result); // 113 (número)

      let result2 = "123" + 10;
      console.log(result2); // 12310 (cadena de texto)
    
  

3. Conversión a valor booleano

Al usar valores en contextos lógicos (operadores condicionales, bucles, etc.).

JavaScript
    
      let value = "hello";

      if (value) {
        console.log("Value is truthy");   // Output: "Value is truthy"
      }
    
  

Ejemplos de conversiones en contexto lógico:

  • false, 0, "" (cadena vacía), null, undefined, y NaN son considerados como valores falsos (false)
  • Todos los demás valores son considerados verdaderos (true)
JavaScript
    
      if ("") {
        console.log("This won't be logged.");
      } else {
        console.log('"" is considered false in a boolean context.');
      }

      // '"" is considered false in a boolean context.'
    
  

1.3 Ejemplos de conversión implícita

Ejemplo con operaciones aritméticas:

JavaScript
    
      let width = "100";
      let height = "200";

      let area = Number(width) * Number(height); // Conversión explícita
      console.log(area); // 20000

      let perimeter = (+width) + (+height); // Uso del operador más unilateral para conversión explícita
      console.log(perimeter); // 300
    
  

Ejemplo con contexto lógico:

JavaScript
    
      let userInput = ""; // Cadena vacía

      if (!userInput) {
        console.log("El usuario no ingresó datos."); // Conversión implícita de cadena de texto a valor booleano
      }
    
  

Ejemplo con tipos combinados:

JavaScript
    
      let value = "10";
      let increment = 5;

      let result = value + increment; // Conversión implícita de número a cadena de texto
      console.log(result); // "105"

      result = Number(value) + increment; // Conversión explícita de cadena de texto a número
      console.log(result); // 15
    
  
Comentarios
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION