24. Coercition de type
La coercition de type est la conversion automatique et implicite de valeurs d'un type de données à un autre par JavaScript (ex : d'un nombre vers une chaîne, d'une chaîne vers un booléen).
Ce comportement est souvent une source de bugs pour les débutants.
Coercition vers String
Lorsque l'opérateur + est utilisé avec une chaîne et un autre type, JS convertit l'autre type en chaîne et les concatène.
javascript console.log(5 + ' pommes'); // Résultat : '5 pommes' console.log('Valeur : ' + true); // Résultat : 'Valeur : true'
Coercition vers Number
Lorsque des opérateurs mathématiques (comme -, *, /) sont utilisés, JS tente de convertir les chaînes en nombres.
javascript console.log('10' / 2); // Résultat : 5 (La chaîne '10' est forcée en Number 10) console.log('10' - 5); // Résultat : 5 console.log('10' * '2'); // Résultat : 20 console.log('bonjour' - 5); // Résultat : NaN (Impossible de convertir 'bonjour' en nombre)
Coercition vers Boolean
Utilisée dans les tests logiques (comme les instructions if). Toutes les valeurs se convertissent soit en true, soit en false (truthy/falsy).