CodeGym /Cours Java /Frontend SELF FR /Conversion des types en JavaScript

Conversion des types en JavaScript

Frontend SELF FR
Niveau 35 , Leçon 0
Disponible

1.1 Conversion de type explicite

La conversion de type en JavaScript est le processus de transformation d'une valeur d'un type de données à un autre. Il existe deux types de conversion : explicite (manuelle) et implicite (automatique). Comprendre ces processus est important pour éviter les erreurs et créer un code prévisible.

La conversion explicite, également connue sous le nom de conversion manuelle, est effectuée en utilisant des fonctions intégrées et des méthodes JavaScript. C'est une conversion où le programmeur indique explicitement quel type de données doit être converti en un autre type.

Méthodes principales de conversion explicite :

1. Conversion en chaîne

  • La méthode String(value) : convertit une valeur en chaîne
JavaScript
    
      let num = 123;
      let str = String(num);
      console.log(typeof str); // "string"
    
  

  • value.toString() : méthode d'objet qui convertit une valeur en chaîne
JavaScript
    
      let bool = true;
      let str = bool.toString();
      console.log(typeof str); // "string"
    
  

2. Conversion en nombre

  • Number(value) : convertit une valeur en nombre
JavaScript
    
      let str = "456";
      let num = Number(str);
      console.log(typeof num); // "number"
    
  

  • parseInt(value, base) : convertit une chaîne en un entier. Le paramètre base spécifie la base du système numérique
JavaScript
    
      let str = "123";
      let num = parseInt(str, 10);
      console.log(typeof num); // "number"
    
  

  • parseFloat(value) : convertit une chaîne en nombre à virgule flottante
JavaScript
    
      let str = "123.45";
      let num = parseFloat(str);
      console.log(typeof num); // "number"
    
  

3. Conversion en valeur booléenne

  • Boolean(value) : convertit une valeur en booléen
JavaScript
    
      let str = "";
      let bool = Boolean(str);
      console.log(typeof bool); // "boolean"
    
  

1.2 Conversion de type implicite

La conversion implicite, également connue sous le nom de conversion automatique ou cachée, est effectuée par JavaScript automatiquement lors de l'exécution d'opérations avec différents types de données. La conversion implicite peut conduire à des résultats inattendus, donc il faut la comprendre et l'utiliser avec précaution.

1. Conversion en chaîne

Important !

Lors de l'addition de tout objet avec une chaîne, JavaScript essaiera de le convertir en chaîne.

Exemple :

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

2. Conversion en nombre

Important !

Lors de l'utilisation de tout opérateur arithmétique (sauf +) avec des chaînes contenant des nombres.

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

Comment cela fonctionne en pratique :

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

      let result2 = "123" + 10;
      console.log(result2); // 12310 (chaîne)
    
  

3. Conversion en valeur booléenne

Lors de l'utilisation de valeurs dans des contextes logiques (opérateurs conditionnels, boucles, etc.).

JavaScript
    
      let value = "hello";

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

Exemples de conversions dans un contexte logique :

  • false, 0, "" (chaîne vide), null, undefined, et NaN sont considérés comme des valeurs fausses (false)
  • Toutes les autres valeurs sont considérées comme vraies (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 Exemples de conversion implicite

Exemple avec des opérations arithmétiques :

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

      let area = Number(width) * Number(height); // Conversion explicite
      console.log(area); // 20000

      let perimeter = (+width) + (+height); // Utilisation du plus unaire pour une conversion explicite
      console.log(perimeter); // 300
    
  

Exemple avec un contexte logique :

JavaScript
    
      let userInput = ""; // Chaîne vide

      if (!userInput) {
        console.log("L'utilisateur n'a pas saisi de données."); // Conversion implicite de la chaîne en valeur booléenne
      }
    
  

Exemple avec des types combinés :

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

      let result = value + increment; // Conversion implicite du nombre en chaîne
      console.log(result); // "105"

      result = Number(value) + increment; // Conversion explicite de la chaîne en nombre
      console.log(result); // 15
    
  
Commentaires
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION