CodeGym /Corsi /Frontend SELF IT /Conversione di tipi in JavaScript

Conversione di tipi in JavaScript

Frontend SELF IT
Livello 35 , Lezione 0
Disponibile

1.1 Conversione esplicita dei tipi

La conversione di tipi in JavaScript è il processo di trasformazione di un valore da un tipo di dati all'altro. Esistono due tipi di conversione: esplicita (manuale) e implicita (automatica). Capire questi processi è importante per prevenire errori e creare codice prevedibile.

La conversione esplicita, anche conosciuta come conversione manuale, viene eseguita utilizzando funzioni e metodi integrati di JavaScript. È una conversione in cui il programmatore specifica chiaramente quale tipo di dati deve essere convertito in un altro tipo.

Principali metodi di conversione esplicita:

1. Conversione a stringa

  • Metodo String(value): converte il valore in una stringa
JavaScript
    
      let num = 123;
      let str = String(num);
      console.log(typeof str); // "string"
    
  

  • value.toString(): metodo dell'oggetto che converte il valore in una stringa
JavaScript
    
      let bool = true;
      let str = bool.toString();
      console.log(typeof str); // "string"
    
  

2. Conversione a numero

  • Number(value): converte il valore in un numero
JavaScript
    
      let str = "456";
      let num = Number(str);
      console.log(typeof num); // "number"
    
  

  • parseInt(value, base): converte una stringa in un intero. Il parametro base indica la base del sistema numerico
JavaScript
    
      let str = "123";
      let num = parseInt(str, 10);
      console.log(typeof num); // "number"
    
  

  • parseFloat(value): converte una stringa in un numero con virgola mobile
JavaScript
    
      let str = "123.45";
      let num = parseFloat(str);
      console.log(typeof num); // "number"
    
  

3. Conversione a valore booleano

  • Boolean(value): converte il valore in un booleano
JavaScript
    
      let str = "";
      let bool = Boolean(str);
      console.log(typeof bool); // "boolean"
    
  

1.2 Conversione implicita dei tipi

La conversione implicita, anche nota come automatica o nascosta, viene eseguita automaticamente da JavaScript durante l'esecuzione di operazioni con diversi tipi di dati. La conversione implicita può portare a risultati inattesi, quindi è necessario capirla e utilizzarla con cautela.

1. Conversione a stringa

Importante!

Quando si somma qualsiasi oggetto con una stringa, JavaScript cercherà di convertirlo in una stringa.

Esempio:

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

2. Conversione a numero

Importante!

Quando si utilizzano operatori aritmetici (ad eccezione di +) con stringhe che contengono numeri.

JavaScript
    
      let result = "123" - 0;
      console.log(result); // 123 (numero)
    
  

Come funziona nella pratica:

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

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

3. Conversione a valore booleano

Nell'utilizzo di valori in contesti logici (operatori condizionali, cicli, ecc.).

JavaScript
    
      let value = "hello";

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

Esempi di conversioni in contesto logico:

  • false, 0, "" (stringa vuota), null, undefined, e NaN sono considerati valori falsi (false)
  • Tutti gli altri valori sono considerati veri (true)
JavaScript
    
      if ("") {
        console.log("Questo non verrà stampato.");
      } else {
        console.log('"" è considerato falso in un contesto booleano.');
      }

      // '"" è considerato falso in un contesto booleano.'
    
  

1.3 Esempi di conversione implicita

Esempio con operazioni aritmetiche:

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

      let area = Number(width) * Number(height); // Conversione esplicita
      console.log(area); // 20000

      let perimeter = (+width) + (+height); // Utilizzo del più unario per conversione esplicita
      console.log(perimeter); // 300
    
  

Esempio con contesto logico:

JavaScript
    
      let userInput = ""; // Stringa vuota

      if (!userInput) {
        console.log("L'utente non ha inserito dati."); // Conversione implicita della stringa in valore booleano
      }
    
  

Esempio con tipi combinati:

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

      let result = value + increment; // Conversione implicita di un numero in stringa
      console.log(result); // "105"

      result = Number(value) + increment; // Conversione esplicita della stringa in numero
      console.log(result); // 15
    
  
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION