Cours IT Bases JavaScript 039_Conversion de types
La conversion de types est le processus de conversion d’un type de données en un autre. La conversion de types peut être implicite (effectuée automatiquement par le moteur JavaScript) ou explicite (conversion manuelle par codage).
Conversion implicite de types (coercition de types)
Dans certaines opérations, JavaScript effectue automatiquement la conversion de types afin d’effectuer des calculs ou des comparaisons.
Exemple :
let num = 5 + "5";console.log(num); // Affiche "55", nombre et chaîne additionnés, le nombre est converti en chaîneConversion explicite de types
Conversion en chaîne
Fonction String() : Convertit d’autres types en chaînes.
Exemple :
let num = 123;let str1 = String(num); // Fonction String(), peut traiter `null` ou `undefined`let str2 = num.toString(); // Méthode toString(), ne peut pas traiter `null` ou `undefined`let str3 = num + ""; // Par addition avec chaîne vide, conversion implicite en chaîneconsole.log(str1); // Affiche "123"console.log(str2); // Affiche "123"console.log(str3); // Affiche "123"Conversion en nombre
Fonction Number() : Convertit d’autres types en nombres.
Exemple :
let str1 = "123";let str2 = "";let str3 = "aaa";let num1 = Number(str1);let num2 = Number(str2);let num3 = Number(str3);let num4 = +str1;console.log(num1); // Affiche 123console.log(num2); // Affiche 0console.log(num3); // Affiche NaNconsole.log(num3); // Affiche 123, si - est utilisé, affiche -123Remarque : Si la chaîne ne peut pas être analysée comme un nombre valide, le résultat sera NaN (Not a Number).
Fonctions parseInt() et parseFloat() : Convertissent des chaînes en entiers ou nombres à virgule flottante.
Exemple :
let str = "42";let num = parseInt(str);console.log(num); // Affiche 42
let str = "3.14";let num = parseFloat(str);console.log(num); // Affiche 3.14Conversion en booléen
Fonction Boolean() : Convertit d’autres types en booléens.
Exemple :
let value = "Hello";let bool1 = Boolean(value);let bool2 = !value;console.log(bool1); // Affiche true, chaîne non vide convertie en trueconsole.log(bool2); // Affiche true, NOT logique sur valeur non booléenne conversion implicite (! valeur est false, utiliser !! le rend positif)Remarque : 0, NaN, null, undefined, chaîne vide, etc. (vide, inexistant, erroné) sont convertis en false, les autres valeurs et objets sont convertis en true.