Dans ce didacticiel, vous découvrirez les conversions de type en JavaScript à l'aide d'exemples.
Le processus de conversion d'un type de données en un autre type de données est appelé conversion de type. Il existe deux types de conversion de type en JavaScript.
- Conversion implicite
- Conversion explicite
Conversion implicite JavaScript
Dans certaines situations, JavaScript convertit automatiquement un type de données en un autre (vers le bon type). C'est ce qu'on appelle la conversion implicite.
Exemple 1: conversion implicite en chaîne
// numeric string used with + gives string type let result; result = '3' + 2; console.log(result) // "32" result = '3' + true; console.log(result); // "3true" result = '3' + undefined; console.log(result); // "3undefined" result = '3' + null; console.log(result); // "3null"
Remarque : Lorsqu'un nombre est ajouté à une chaîne, JavaScript convertit le nombre en chaîne avant la concaténation.
Exemple 2: Conversion implicite en nombre
// numeric string used with - , / , * results number type let result; result = '4' - '2'; console.log(result); // 2 result = '4' - 2; console.log(result); // 2 result = '4' * 2; console.log(result); // 8 result = '4' / 2; console.log(result); // 2
Exemple 3: Résultats de chaîne non numériques vers NaN
// non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; console.log(result); // NaN result = '4' - 'hello'; console.log(result); // NaN
Exemple 4: Conversion booléenne implicite en nombre
// if boolean is used, true is 1, false is 0 let result; result = '4' - true; console.log(result); // 3 result = 4 + true; console.log(result); // 5 result = 4 + false; console.log(result); // 4
Remarque: JavaScript considère 0 comme false
et tout nombre non nul comme true
. Et, si true
est converti en nombre, le résultat est toujours 1.
Exemple 5: conversion nulle en nombre
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
Exemple 6: undefined utilisé avec number, boolean ou null
// Arithmetic operation of undefined with number, boolean or null gives NaN let result; result = 4 + undefined; console.log(result); // NaN result = 4 - undefined; console.log(result); // NaN result = true + undefined; console.log(result); // NaN result = null + undefined; console.log(result); // NaN
Conversion explicite JavaScript
Vous pouvez également convertir un type de données en un autre selon vos besoins. La conversion de type que vous effectuez manuellement est appelée conversion de type explicite.
En JavaScript, les conversions de types explicites sont effectuées à l'aide de méthodes intégrées.
Voici quelques méthodes courantes de conversions explicites.
1. Convertir explicitement en nombre
Pour convertir des chaînes numériques et des valeurs booléennes en nombres, vous pouvez utiliser Number()
. Par exemple,
let result; // string to number result = Number('324'); console.log(result); // 324 result = Number('324e-1') console.log(result); // 32.4 // boolean to number result = Number(true); console.log(result); // 1 result = Number(false); console.log(result); // 0
En JavaScript, les chaînes vides et les null
valeurs renvoient 0 . Par exemple,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Si une chaîne est un nombre non valide, le résultat sera NaN
. Par exemple,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Remarque : Vous pouvez également générer des nombres de chaînes en utilisant parseInt()
, parseFloat()
, opérateur unaire +
et Math.floor()
. Par exemple,
let result; result = parseInt('20.01'); console.log(result); // 20 result = parseFloat('20.01'); console.log(result); // 20.01 result = +'20.01'; console.log(result); // 20.01 result = Math.floor('20.01'); console.log(result); // 20
2. Convertir explicitement en chaîne
Pour convertir d'autres types de données en chaînes, vous pouvez utiliser soit String()
ou toString()
. Par exemple,
//number to string let result; result = String(324); console.log(result); // "324" result = String(2 + 4); console.log(result); // "6" //other data types to string result = String(null); console.log(result); // "null" result = String(undefined); console.log(result); // "undefined" result = String(NaN); console.log(result); // "NaN" result = String(true); console.log(result); // "true" result = String(false); console.log(result); // "false" // using toString() result = (324).toString(); console.log(result); // "324" result = true.toString(); console.log(result); // "true"
Remarque : String()
prend null
et undefined
et les convertit en chaîne. Cependant, toString()
donne une erreur lorsquenull are passed.
3. Convertir explicitement en booléen
Pour convertir d'autres types de données en booléen, vous pouvez utiliser Boolean().
En JavaScript, undefined
, null
, 0
, NaN
, ''
convertis à false
. Par exemple,
let result; result = Boolean(''); console.log(result); // false result = Boolean(0); console.log(result); // false result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false result = Boolean(NaN); console.log(result); // false
Toutes les autres valeurs donnent true
. Par exemple,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
Table de conversion de type JavaScript
Le tableau montre la conversion de différentes valeurs en chaîne, nombre et booléen en JavaScript.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | "1" | 1 |
|
0 | "0" | 0 |
|
"1" | "1" | 1 |
|
"0" | "0" | 0 |
|
"ten" | "ten" |
|
|
| "true" | 1 |
|
| "false" | 0 |
|
| "null" | 0 |
|
| "undefined" |
|
|
'' | "" | 0 |
|
' ' | " " | 0 |
|
Vous découvrirez la conversion d'objets et de tableaux en d'autres types de données dans des didacticiels ultérieurs.
Consultez ces exemples pour en savoir plus:
- Dates JavaScript en nombres
- Dates JavaScript en chaînes