CodeGym /Cursos /Frontend SELF PT /Conversão de Tipos em JavaScript

Conversão de Tipos em JavaScript

Frontend SELF PT
Nível 35 , Lição 0
Disponível

1.1 Conversão de Tipos Explícita

Conversão de tipos em JavaScript é o processo de converter um valor de um tipo de dados para outro. Existem duas formas de conversão: explícita (manual) e implícita (automática). Compreender esses processos é importante para evitar erros e criar um código previsível.

Conversão explícita, também conhecida como conversão manual, é feita utilizando funções e métodos embutidos do JavaScript. É a conversão onde o programador define explicitamente qual tipo de dado deve ser convertido para outro tipo.

Métodos principais de conversão explícita:

1. Conversão para string

  • Método String(value): converte o valor para string
JavaScript
    
      let num = 123;
      let str = String(num);
      console.log(typeof str); // "string"
    
  

  • value.toString(): método do objeto que converte o valor para string
JavaScript
    
      let bool = true;
      let str = bool.toString();
      console.log(typeof str); // "string"
    
  

2. Conversão para número

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

  • parseInt(value, base): converte uma string para um número inteiro. O parâmetro base especifica a base numérica
JavaScript
    
      let str = "123";
      let num = parseInt(str, 10);
      console.log(typeof num); // "number"
    
  

  • parseFloat(value): converte uma string para um número de ponto flutuante
JavaScript
    
      let str = "123.45";
      let num = parseFloat(str);
      console.log(typeof num); // "number"
    
  

3. Conversão para booleano

  • Boolean(value): converte o valor para booleano
JavaScript
    
      let str = "";
      let bool = Boolean(str);
      console.log(typeof bool); // "boolean"
    
  

1.2 Conversão de Tipos Implícita

Conversão implícita, também conhecida como conversão automática ou oculta, é realizada automaticamente pelo JavaScript ao executar operações com diferentes tipos de dados. A conversão implícita pode levar a resultados inesperados, então é preciso entendê-la e usá-la com cautela.

1. Conversão para string

Importante!

Ao somar qualquer objeto a uma string, o JavaScript tentará convertê-lo em uma string.

Exemplo:

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

2. Conversão para número

Importante!

Ao utilizar qualquer operador aritmético (exceto +) com strings que contenham números.

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

Como isso funciona na prática:

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

      let result2 = "123" + 10;
      console.log(result2); // 12310 (string)
    
  

3. Conversão para booleano

Ao usar valores em contextos lógicos (declarações condicionais, loops, etc.).

JavaScript
    
      let value = "hello";

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

Exemplos de conversões em contexto lógico:

  • false, 0, "" (string vazia), null, undefined, e NaN são considerados valores falsos (false)
  • Todos os outros valores são considerados verdadeiros (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 Exemplos de Conversão Implícita

Exemplo com operações aritméticas:

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

      let area = Number(width) * Number(height); // Conversão explícita
      console.log(area); // 20000

      let perimeter = (+width) + (+height); // Uso do operador unário mais para conversão explícita
      console.log(perimeter); // 300
    
  

Exemplo com contexto lógico:

JavaScript
    
      let userInput = ""; // String vazia

      if (!userInput) {
        console.log("Usuário não inseriu dados."); // Conversão implícita da string para booleano
      }
    
  

Exemplo com tipos combinados:

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

      let result = value + increment; // Conversão implícita de número para string
      console.log(result); // "105"

      result = Number(value) + increment; // Conversão explícita de string para número
      console.log(result); // 15
    
  
Comentários
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION