Skip to content

Conversion des types

Les conversions de types en JavaScript sont des opérations où les valeurs d'un type sont converties en un autre type. JavaScript est un langage à typage dynamique, ce qui signifie que les conversions de types peuvent souvent se produire automatiquement (conversions implicites). Cependant, il est également possible de faire des conversions explicites. Voici quelques exemples et explications des deux types de conversions.

Conversions Implicites

  1. Conversion en Chaîne de Caractères :

    • Lorsqu'une valeur non-string est combinée avec une chaîne de caractères, JavaScript convertit automatiquement cette valeur en chaîne.
    javascript
    let valeur = 5;
    let texte = valeur + " unités"; // '5' est converti en chaîne de caractères
    console.log(texte); // "5 unités"
    let valeur = 5;
    let texte = valeur + " unités"; // '5' est converti en chaîne de caractères
    console.log(texte); // "5 unités"
  2. Conversion en Nombre :

    • Lorsque des opérations mathématiques sont effectuées, JavaScript essaie de convertir les valeurs non-numériques en nombres.
    javascript
    let resultat = "3" - 1; // '3' est converti en nombre
    console.log(resultat); // 2
    let resultat = "3" - 1; // '3' est converti en nombre
    console.log(resultat); // 2
  3. Conversion en Booléen :

    • Dans les contextes où un booléen est attendu (comme les conditions), les valeurs sont converties en true ou false. Les valeurs comme 0, NaN, null, undefined, et la chaîne vide "" sont fausses (falsy), tandis que toutes les autres sont vraies (truthy).
    javascript
    if ("texte") {
        console.log("Vrai"); // "texte" est truthy
    }
    if ("texte") {
        console.log("Vrai"); // "texte" est truthy
    }

Conversions Explicites

  1. Conversion en Chaîne de Caractères :

    • Utiliser la fonction String() ou la méthode .toString().
    javascript
    let nombre = 123;
    let chaine = String(nombre);
    let nombre = 123;
    let chaine = String(nombre);
  2. Conversion en Nombre :

    • Utiliser la fonction Number() ou des opérateurs unaires comme +.
    javascript
    let texte = "123";
    let nombre = Number(texte);
    let autreNombre = +texte;
    let texte = "123";
    let nombre = Number(texte);
    let autreNombre = +texte;
  3. Conversion en Booléen :

    • Utiliser la fonction Boolean() ou l'opérateur !!.
    javascript
    let valeur = "quelque chose";
    let booleen = Boolean(valeur); // true
    let autreBooleen = !!valeur; // true
    let valeur = "quelque chose";
    let booleen = Boolean(valeur); // true
    let autreBooleen = !!valeur; // true

Astuces

  • Conversions Automatiques : Les conversions implicites peuvent parfois conduire à des résultats inattendus, il est donc important de comprendre comment et quand elles se produisent.
  • Contrôle Explicite : Les conversions explicites donnent plus de contrôle sur les opérations et peuvent rendre le code plus prévisible et plus facile à comprendre.
  • Prudence : Il est généralement préférable d'effectuer des conversions de manière explicite pour éviter des bugs subtils et des comportements inattendus dans le code.