Conversion de Type en JavaScript - Conversion de Chaînes en Nombres
- Conversion de Nombres en Chaînes
- Conversion de Dates en Nombres
- Conversion de Nombres en Dates
- Conversion de Booléens en Nombres
- Conversion de Nombres en Booléens
- Conversion de Chaînes en Nombres
- Conversion de Nombres en Chaînes
- Conversion de Dates en Nombres
- Conversion de Nombres en Dates
- Conversion de Booléens en Nombres
- Conversion de Nombres en Booléens
Conversion de Type en JavaScript
Les variables JavaScript peuvent être converties en une nouvelle variable d'un autre type de données :
- En utilisant une fonction JavaScript
- Automatiquement par JavaScript lui-même
Conversion de Chaînes en Nombres
La méthode globale Number() convertit une variable (ou une valeur) en un nombre.
Une chaîne numérique (comme "3.14") se convertit en un nombre (comme 3.14).
Une chaîne vide (comme "") se convertit en 0.
Une chaîne non numérique (comme "John") se convertit en NaN (Not a Number).
Exemples
Ceux-ci se convertiront :
Number("3.14")
Number(Math.PI)
Number(" ")
Number("")
Ceux-ci ne se convertiront pas :
Number("99 88")
Number("John") Méthodes Numériques
Dans le chapitre Méthodes Numériques , vous trouverez d'autres méthodes qui peuvent être utilisées pour convertir des chaînes en nombres :
| Méthode | Description |
|---|---|
| Number() | Renvoie un nombre, converti à partir de son argument |
| parseFloat() | Analyse une chaîne et renvoie un nombre à virgule flottante |
| parseInt() | Analyse une chaîne et renvoie un entier |
L'Opérateur Unaire +
L' opérateur unaire + peut être utilisé pour convertir une variable en un nombre :
Exemple
let y = "5"; // y est une chaîne
let x = + y; // x est un nombre Si la variable ne peut pas être convertie, elle deviendra tout de même un nombre, mais avec la valeur NaN (Not a Number) :
Exemple
let y = "John"; // y est une chaîne
let x = + y; // x est un nombre (NaN) Conversion de Nombres en Chaînes
La méthode globale String() peut convertir des nombres en chaînes.
Elle peut être utilisée sur tout type de nombres, littéraux, variables ou expressions :
Exemple
String(x) // renvoie une chaîne à partir d'une variable numérique x
String(123) // renvoie une chaîne à partir d'un littéral numérique 123
String(100 + 23) // renvoie une chaîne à partir d'un nombre d'une expression La méthode Number toString() fait la même chose.
Exemple
x.toString()
(123).toString()
(100 + 23).toString() Plus de Méthodes
Dans le chapitre Méthodes Numériques , vous trouverez d'autres méthodes qui peuvent être utilisées pour convertir des nombres en chaînes :
| Méthode | Description |
|---|---|
| toExponential() | Renvoie une chaîne, avec un nombre arrondi et écrit en notation exponentielle. |
| toFixed() | Renvoie une chaîne, avec un nombre arrondi et écrit avec un nombre spécifié de décimales. |
| toPrecision() | Renvoie une chaîne, avec un nombre écrit avec une longueur spécifiée |
Conversion de Dates en Nombres
La méthode globale Number() peut être utilisée pour convertir des dates en nombres.
d = new Date();
Number(d) // renvoie 1404568027739 La méthode date getTime() fait la même chose.
d = new Date();
d.getTime() // renvoie 1404568027739 Conversion de Dates en Chaînes
La méthode globale String() peut convertir des dates en chaînes.
String(Date()) // renvoie "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)" La méthode Date toString() fait la même chose.
Exemple
Date().toString() // renvoie "Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)" Dans le chapitre Méthodes de Date , vous trouverez d'autres méthodes qui peuvent être utilisées pour convertir des dates en chaînes :
| Méthode | Description |
|---|---|
| getDate() | Obtenir le jour sous forme de nombre (1-31) |
| getDay() | Obtenir le jour de la semaine sous forme de nombre (0-6) |
| getFullYear() | Obtenir l'année à quatre chiffres (aaaa) |
| getHours() | Obtenir l'heure (0-23) |
| getMilliseconds() | Obtenir les millisecondes (0-999) |
| getMinutes() | Obtenir les minutes (0-59) |
| getMonth() | Obtenir le mois (0-11) |
| getSeconds() | Obtenir les secondes (0-59) |
| getTime() | Obtenir le temps (millisecondes depuis le 1er janvier 1970) |
Conversion de Booléens en Nombres
La méthode globale Number() peut également convertir des booléens en nombres.
Number(false) // renvoie 0
Number(true) // renvoie 1 Conversion de Booléens en Chaînes
La méthode globale String() peut convertir des booléens en chaînes.
String(false) // renvoie "false"
String(true) // renvoie "true" La méthode Boolean toString() fait la même chose.
false.toString() // renvoie "false"
true.toString() // renvoie "true" Conversion de Type Automatique
Lorsque JavaScript essaie d'opérer sur un type de données "erroné", il essaie de convertir la valeur en un type "correct".
Le résultat n'est pas toujours ce que vous attendez :
5 + null // renvoie 5 car null est converti en 0
"5" + null // renvoie "5null" car null est converti en "null"
"5" + 2 // renvoie "52" car 2 est converti en "2"
"5" - 2 // renvoie 3 car "5" est converti en 5
"5" * "2" // renvoie 10 car "5" et "2" sont convertis en 5 et 2 Conversion Automatique de Chaînes
JavaScript appelle automatiquement la fonction toString() de la variable lorsque vous essayez de "sortir" un objet ou une variable :
document.getElementById("demo").innerHTML = myVar;
// si myVar = {name:"Fjohn"} // toString se convertit en "[object Object]"
// si myVar = [1,2,3,4] // toString se convertit en "1,2,3,4"
// si myVar = new Date() // toString se convertit en "Fri Jul 18 2014 09:08:55 GMT+0200"
Les nombres et les booléens sont également convertis, mais cela n'est pas très visible :
// si myVar = 123 // toString se convertit en "123"
// si myVar = true // toString se convertit en "true"
// si myVar = false // toString se convertit en "false" Tableau de Conversion de Type en JavaScript
Ce tableau montre le résultat de la conversion de différentes valeurs JavaScript en Nombre, Chaîne et Booléen :
| Valeur Originale | Convertie en Nombre | Convertie en Chaîne | Convertie en Booléen | Essayez-le |
|---|---|---|---|---|
| false | 0 | "false" | false | |
| true | 1 | "true" | true | |
| 0 | 0 | "0" | false | |
| 1 | 1 | "1" | true | |
| "0" | 0 | "0" | true | |
| "000" | 0 | "000" | true | |
| "1" | 1 | "1" | true | |
| NaN | NaN | "NaN" | false | |
| Infinity | Infinity | "Infinity" | true | |
| -Infinity | -Infinity | "-Infinity" | true | |
| "" | 0 | "" | false | |
| "20" | 20 | "20" | true | |
| "twenty" | NaN | "twenty" | true | |
| [ ] | 0 | "" | true | |
| [20] | 20 | "20" | true | |
| [10,20] | NaN | "10,20" | true | |
| ["twenty"] | NaN | "twenty" | true | |
| ["ten","twenty"] | NaN | "ten,twenty" | true | |
| function(){} | NaN | "function(){}" | true | |
| { } | NaN | "[object Object]" | true | |
| null | 0 | "null" | false | |
| undefined | NaN | "undefined" | false |
Les valeurs entre guillemets indiquent des valeurs de chaîne.
Les valeurs rouges indiquent des valeurs (certaines) que les programmeurs pourraient ne pas attendre.