Type coercion
La type coercion (en français, coercition de type) est la conversion automatique ou implicite de valeurs d'un type de données à un autre (par exemple : de string à nombre). La type conversion est similaire à la type coercion puisque les deux convertissent des valeurs d'un type de données à un autre. La différence fondamentale entre elles est que la type coercion est implicite alors que la type conversion peut être implicite ou explicite.
Exemples
const valeur1 = "5";
const valeur2 = 9;
let somme = valeur1 + valeur2;
console.log(somme);
Dans l'exemple ci-dessus, Javascript a coercé le nombre 9
en une string, et a concaténé les deux valeurs, ce qui donne comme résultat la string 59
. JavaScript avait le choix entre une string et un nombre et a décidé d'utiliser une string.
Le compilateur aurait pu coercer le 5
en un nombre et retourner la somme de 14
, mais ce n'est pas ce qu'il a fait. Pour pouvoir retourner 14
, il aurait fallu explicitement convertir le 5 en un nombre grâce à la méthode Number()
:
somme = Number(valeur1) + valeur2;
Voir aussi
- Type
- Type conversion
- Conversion de type sur Wikipédia