aboutsummaryrefslogtreecommitdiff
path: root/files/fr/glossary/type_coercion/index.md
blob: 5112370474f547111e3a5631cda22c36f6dcaf02 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
---
title: Type coercion
slug: Glossary/Type_coercion
tags:
  - Coercion
  - JavaScript
  - Type coercion
translation_of: Glossary/Type_coercion
original_slug: Glossaire/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 *{{Glossary("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 {{jsxref("Global_Objects/Number", "Number()")}}:

```js
somme = Number(valeur1) + valeur2;
```

## Voir aussi

1.  [Glossary](/fr/docs/Glossary)

    1.  {{Glossary("Type")}}
    2.  {{Glossary("Type conversion")}}

2.  Wikipedia article

    1.  {{Interwiki("wikipedia", "Type conversion")}}