Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

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

js
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() :

js
somme = Number(valeur1) + valeur2;

Voir aussi