JavaScript Conversion de type
Number() convertit en nombre, String() convertit en chaîne de caractères, Boolean() convertit en booléen.
Types de données JavaScript
En JavaScript, il existe 6 types de données différents :
- string
- nombre
- booléen
- objet
- fonction
- symbole
3 types d'objets :
- Object
- Date
- Tableau
2 types de données qui ne contiennent aucune valeur :
- null
- undefined
Opérateur typeof
Vous pouvez utiliser l'opérateurtypeofpour voir le type de données d'une variable JavaScript.
Exemples
typeof 3.14 // renvoie number
typeof NaN // renvoie number
typeof false // renvoie un booléen
typeof [1,2,3,4] // renvoie un objet
typeof {name:'John', age:34} // renvoie object
typeof new Date() // renvoie object
typeof function () {} // renvoie function
typeof myCar // renvoie undefined (si myCar n'est pas déclarée)
typeof null // renvoie object
Essayez-le vous-même »
Veuillez noter :
- Le type de données de NaN est number
- Le type de données d'un tableau (Array) est object
- Le type de données d'une date (Date) est object
- Le type de données de null est object
- Le type de données d'une variable non définie est undefined
Si l'objet est un Array JavaScript ou une Date JavaScript, nous ne pouvons pas utilisertypeofpour déterminer leur type, car ils renvoient tous object.
Propriété constructor
constructorLa propriété renvoie la fonction constructeur pour toutes les variables JavaScript.
Exemples
(3.14).constructor // renvoie la fonction Number() { [native code] }
false.constructor // renvoie la fonction Boolean() { [native code] }
[1,2,3,4].constructor // renvoie la fonction Array() { [native code] }
{name:'John', age:34}.constructor // renvoie la fonction Object() { [native code] }
new Date().constructor // renvoie la fonction Date() { [native code] }
function () {}.constructor // renvoie la fonction Function() { [native code] }
Essayez-le vous-même »
Vous pouvez utiliser la propriété constructor pour vérifier si un objet est un tableau (contient la chaîne "Array") :
Exemples
return myArray.constructor.toString().indexOf("Array") > -1;
}
Essayez-le vous-même »
Vous pouvez utiliser la propriété constructor pour vérifier si un objet est une date (contient la chaîne "Date") :
Exemples
return myDate.constructor.toString().indexOf("Date") > -1;
}
Essayez-le vous-même »
Conversion de type en JavaScript
Les variables JavaScript peuvent être converties en nouvelles variables ou en d'autres types de données :
- En utilisant des fonctions JavaScript
- Par la conversion automatique propre à JavaScript
Conversion de nombres en chaînes
La méthode globaleString()peut convertir des nombres en chaînes.
Cette méthode peut être utilisée pour tout type de nombres, de lettres, de variables, d'expressions :
Exemples
String(123) // convertit le nombre 123 en une chaîne et la renvoie
String(100 + 23) // convertit une expression numérique en une chaîne et la renvoie
Essayez-le vous-même »
Les méthodes de NumbertoString()ont également le même effet.
DansMéthodes de NumberDans le chapitre, vous pouvez trouver d'autres méthodes pour convertir des nombres en chaînes de caractères :
| Méthode | Description |
|---|---|
| toExponential() | Convertit la valeur d'un objet en notation exponentielle. |
| toFixed() | Convertit un nombre en chaîne de caractères, avec un nombre spécifié de chiffres après la virgule. |
| toPrecision() | Formate un nombre à une longueur spécifiée. |
Conversion de booléens en chaînes de caractères
La méthode globaleString()peut convertir des booléens en chaînes de caractères.
String(true) // renvoie "true"
Les méthodes de BooleantoString()ont également le même effet.
true.toString() // renvoie "true"
Conversion des dates en chaînes de caractères
Date() renvoie une chaîne de caractères.
La méthode globale String() peut convertir un objet date en une chaîne de caractères.
Les méthodes DatetoString()ont également le même effet.
Exemples
obj.toString() // renvoie Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)
Dansles méthodes DateDans le chapitre, vous pouvez voir plus de fonctions pour convertir des dates en chaînes de caractères :
| Méthode | Description |
|---|---|
| getDate() | Renvoie le jour du mois (1 ~ 31) d'un objet Date. |
| getDay() | Renvoie le jour de la semaine (0 ~ 6) d'un objet Date. |
| getFullYear() | Renvoie l'année d'un objet Date sous forme de nombre à quatre chiffres. |
| getHours() | Renvoie l'heure d'un objet Date (0 ~ 23). |
| getMilliseconds() | Renvoie les millisecondes d'un objet Date (0 ~ 999). |
| getMinutes() | Renvoie les minutes d'un objet Date (0 ~ 59). |
| getMonth() | Renvoie le mois (0 ~ 11) d'un objet Date. |
| getSeconds() | Renvoie les secondes d'un objet Date (0 ~ 59). |
| getTime() | Renvoie le nombre de millisecondes depuis le 1er janvier 1970. |
Conversion de chaînes en nombres
La méthode globaleNumber()peut convertir des chaînes en nombres.
Les chaînes contenant des nombres (comme "3.14") sont converties en nombres (comme 3.14).
Une chaîne vide est convertie en 0.
Les autres chaînes seront converties en NaN (pas un nombre).
Number(" ") // renvoie 0
Number("") // renvoie 0
Number("99 88") // renvoie NaN
Dansles méthodes NumberDans le chapitre, vous pouvez trouver plus de méthodes pour convertir des chaînes en nombres :
| Méthode | Description |
|---|---|
| parseFloat() | Analyse une chaîne et renvoie un nombre à virgule flottante. |
| parseInt() | Analyse une chaîne et renvoie un entier. |
Opérateur unaire +
L'opérateur + peut être utilisé pour convertir une variable en nombre :
Si la variable ne peut pas être convertie, elle restera un nombre, mais la valeur sera NaN (Not a Number) :
Exemples
var x = + y; // x est un nombre (NaN)
Essayez-le vous-même »
Conversion des booléens en nombres
La méthode globaleNumber()peut convertir des booléens en nombres.
Number(true) // Renvoie 1
Conversion des dates en nombres
La méthode globaleNumber()peut convertir des dates en nombres.
Number(d) // Renvoie 1404568027739
La méthode DategetTime()a le même effet.
d.getTime() // Renvoie 1404568027739
Conversion de type automatique
Lorsque JavaScript tente d'opérer sur un type de données « incorrect », il le convertit automatiquement en type de données « correct ».
La sortie suivante n'est pas ce que vous attendiez :
"5" + null // Renvoie "5null" null se convertit en "null"
"5" + 1 // Renvoie "51" 1 se convertit en "1"
"5" - 1 // Retourne 4 "5" se convertit en 5
Conversion automatique en chaînes de caractères
Lorsque vous essayez d'afficher un objet ou une variable, JavaScript appelle automatiquement la méthode toString() de la variable :
myVar = {name:"Fjohn"} // toString convertit en "[object Object]"
myVar = [1,2,3,4] // toString convertit en "1,2,3,4"
myVar = new Date() // toString convertit en "Fri Jul 18 2014 09:08:55 GMT+0200"
Les nombres et les booléens sont aussi souvent convertis entre eux :
myVar = true // toString convertit en "true"
myVar = false // toString convertit en "false"
Le tableau ci-dessous montre la conversion de différentes valeurs en nombres (Number), en chaînes de caractères (String) et en booléens (Boolean) :
| Valeur primitive | Converti en Number | Converti en String | Converti en Boolean | Exemple |
|---|---|---|---|---|
| false | 0 | "false" | false | Essayez-le vous-même » |
| vrai | 1 | "true" | vrai | Essayez-le vous-même » |
| 0 | 0 | "0" | false | Essayez-le vous-même » |
| 1 | 1 | "1" | vrai | Essayez-le vous-même » |
| "0" | 0 | "0" | vrai | Essayez-le vous-même » |
| "000" | 0 | "000" | vrai | Essayez-le vous-même » |
| "1" | 1 | "1" | vrai | Essayez-le vous-même » |
| NaN | NaN | "NaN" | false | Essayez-le vous-même » |
| Infini | Infini | "Infinity" | vrai | Essayez-le vous-même » |
| -Infinity | -Infinity | "-Infinity" | vrai | Essayez-le vous-même » |
| "" | 0 | "" | false | Essayez-le vous-même » |
| "20" | 20 | "20" | vrai | Essayez-le vous-même » |
| "Example" | NaN | "Example" | vrai | Essayez-le vous-même » |
| [ ] | 0 | "" | vrai | Essayez-le vous-même » |
| [20] | 20 | "20" | vrai | Essayez-le vous-même » |
| [10,20] | NaN | "10,20" | vrai | Essayez-le vous-même » |
| ["Example"] | NaN | "Example" | vrai | Essayez-le vous-même » |
| ["Example","Google"] | NaN | "Example,Google" | vrai | Essayez-le vous-même » |
| function(){} | NaN | "function(){}" | vrai | Essayez-le vous-même » |
| { } | NaN | "[object Object]" | vrai | Essayez-le vous-même » |
| null | 0 | "null" | false | Essayez-le vous-même » |
| undefined | NaN | "undefined" | false | Essayez-le vous-même » |