Conversion de type JavaScript
- Page précédente JS typeof
- Page suivante Désconstruction JS
Number()
Conversion de valeur numérique,String()
Conversion de chaîne,Boolean()
Conversion de valeur booléenne.
Types de données JavaScript
JavaScript contient cinq types de données qui peuvent contenir des valeurs :
- Chaîne (string)
- Numérique (number)
- Booléen (boolean)
- Objet (object)
- Fonction (function)
Il y a trois types d'objets :
- Objet (Object)
- Date (Date)
- Tableau (Array)
Il y a deux types de données qui ne peuvent pas contenir de valeur :
- null
- undefined
l'opérateur typeof
Vous pouvez utiliser typeof
Les opérateurs déterminent le type de données des variables JavaScript.
Exemple
typeof "Bill" // Retourne "string" typeof 3.14 // Retourne "number" typeof NaN // Retourne "number" typeof false // retourne "boolean" typeof [1,2,3,4] // retourne "object" typeof {name:'Bill', age:62} // retourne "object" typeof new Date() // retourne "object" typeof function () {} // retourne "function" typeof myCar // retourne "undefined" * typeof null // retourne "object"
Veuillez noter :
- Le type de données de NaN est nombre
- Le type de données du tableau est objet
- Le type de données de la date est objet
- Le type de données de null est objet
- Le type de données d'une variable non définie est undefined
- Le type de données d'une variable non assignée est également undefined
Vous ne pouvez pas utiliser typeof
Pour déterminer si un objet JavaScript est un tableau (ou une date).
Les types de données de typeof
typeof
L'opérateur n'est pas une variable. Il appartient aux opérateurs. Les opérateurs (par exemple +
-
*
/
)n'a pas de type de données.
Mais,typeof
ToujoursRetourne une chaîne(包含运算数的类型)。
L'attribut constructor
constructor
L'attribut retourne la fonction constructrice de tous les variables JavaScript.
Exemple
"Bill".constructor // retourne "function String() { [code natif] }" (3.14).constructor // retourne "function Number() { [code natif] }" false.constructor // retourne "function Boolean() { [code natif] }" [1,2,3,4].constructor // retourne "function Array() { [code natif] }" {name:'Bill', age:62}.constructor // retourne "function Object() { [code natif] }" new Date().constructor // Renvoie "function Date() { [native code] }" function () {}.constructor // Renvoie "function Function(){ [native code] }"
Vous pouvez vérifier constructor
l'attribut pour déterminer si un objet est un array (contient le mot "Array") :
Exemple
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; }
Ou encore plus simple, vous pouvez vérifier si l'objet est une fonction d'array :
Exemple
function isArray(myArray) { return myArray.constructor === Array; }
Vous pouvez vérifier constructor
l'attribut pour déterminer si un objet est une date (contient le mot "Date") :
Exemple
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; }
Ou encore plus simple, vous pouvez vérifier si l'objet est une fonction de date :
Exemple
function isDate(myDate) { return myDate.constructor === Date; }
Conversion de type JavaScript
Les variables JavaScript peuvent être converties en nouvelles variables et en un autre type de données :
- En utilisant la fonction JavaScript
- Par le JavaScript lui-mêmeAutomatiquementConversion
Convertir des nombres en chaînes de caractères
Méthode globale String()
Il peut convertir des nombres en chaînes de caractères.
Il peut être utilisé pour n'importe quel type de nombre, texte, variable ou expression :
Exemple
String(x) // Renvoie une chaîne de caractères à partir de la variable numérique x String(123) // Renvoie une chaîne de caractères à partir du texte numérique 123 String(100 + 23) // Renvoie une chaîne de caractères à partir de la valeur numérique de l'expression
Méthodes numériques toString()
De même.
Exemple
x.toString() (123).toString() (100 + 23).toString()
DansMéthodes numériquesDans ce chapitre, vous apprendrez plus sur les méthodes utilisables pour convertir des nombres en chaînes de caractères :
Méthode | Description |
---|---|
toExponential() | Renvoie une chaîne de caractères, arrondit un nombre et écrit avec un système de nombre en exponentiel. |
toFixed() | Renvoie une chaîne de caractères, arrondit un nombre et écrit avec un certain nombre de décimales. |
toPrecision() | Renvoie une chaîne de caractères, qui écrit un nombre avec une longueur spécifiée. |
Convertir un booléen en chaîne
Méthode globale String()
Il est possible de convertir un booléen en chaîne.
String(false) // Retourne "false" String(true) // Retourne "true"
Méthodes booléennes toString()
De même.
false.toString() // Retourne "false" true.toString() // Retourne "true"
Convertir une date en chaîne de caractères
Méthode globale String()
Il est possible de convertir une date en chaîne de caractères.
String(Date())
Méthodes de date toString()
De même.
Exemple
Date().toString()
DansMéthodes de dateDans ce chapitre, vous trouverez d'autres méthodes permettant de convertir des dates en chaînes de caractères :
Méthode | Description |
---|---|
getDate() | Obtenir le jour (1-31) en nombre |
getDay() | Ou en nombre (0-6) de la semaine |
getFullYear() | Obtenir l'année à quatre chiffres (yyyy) |
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) |
Convertir une chaîne en valeur numérique
Méthode globale Number()
Il est possible de convertir une chaîne en nombre.
Les chaînes contenant des nombres (par exemple "3.14") sont converties en nombres (par exemple 3.14).
Les chaînes vides sont converties en 0。
Les autres chaînes de caractères seront converties en NaN
(Not a number,not a number)。
Number("3.14") // Retourne 3.14 Number(" ") // Retourne 0 Number("") // Retourne 0 Number("99 88") // Retourne NaN
DansMéthodes numériquesDans ce chapitre, vous trouverez d'autres méthodes permettant de convertir des chaînes de caractères en nombres :
Méthode | Description |
---|---|
parseFloat() | Analyse la chaîne de caractères et retourne un nombre à virgule flottante. |
parseInt() | Analyse la chaîne de caractères et retourne un entier. |
Opérateur unaire +
Unaire +
OpérateursIl est possible de convertir une variable en nombre :
Exemple
var y = "5"; // y est une chaîne de caractères var x = + y; // x est un nombre
Si la conversion de la variable échoue, elle restera un nombre, mais avec la valeur NaN
(Not a number):
Exemple
var y = "Bill"; // y est une chaîne de caractères var x = + y; // x est un nombre (NaN)
Conversion de booléens en valeurs numériques
Méthode globale Number()
Il est également possible de convertir des booléens en nombres.
Number(false) // retourne 0 Number(true) // retourne 1
Convertir une date en nombre
Méthode globale Number()
Peut être utilisé pour convertir une date en nombre.
d = new Date(); Number(d)
Méthodes de date getTime()
De même.
d = new Date(); d.getTime()
Conversion de type automatique
Si JavaScript essaie de manipuler un type de données "erroné", il essaie de convertir cette valeur en un type "correct".
Les résultats ne sont pas toujours ceux que vous attendez :
5 + null // retourne 5 car null est converti en 0 "5" + null // retourne "5null" car null est converti en "null" "5" + 2 // retourne 52 car 2 est converti en "2" "5" - 2 // retourne 3 car "5" est converti en 5 "5" * "2" // retourne 10 car "5" et "2" sont convertis en 5 et 2
Conversion automatique de chaîne
JavaScript appelle automatiquement la conversion de chaîne de la variable toString()
Fonction, lorsque vous essayez de "sortir" un objet ou une variable :
document.getElementById("demo").innerHTML = myVar; // Si myVar = {name:"Fjohn"} // conversion toString en "[object Object]" // Si myVar = [1,2,3,4] // conversion toString en "1,2,3,4" // Si myVar = new Date() // conversion toString en ""
Les nombres et les booléens sont également convertis, mais cela n'est pas évident :
// Si myVar = 123 // conversion toString en "123" // Si myVar = true // conversion toString en "true" // Si myVar = false // conversion toString en "false"
Tableau de conversion de type JavaScript
Le tableau suivant liste les résultats de la conversion de différentes valeurs JavaScript en nombre, chaîne et booléen :
Valeur originale | Convertir en nombre | Convertir en chaîne | Convertir en logique | Essayer |
---|---|---|---|---|
false | 0 | "false" | false | Essayer |
true | 1 | "true" | true | Essayer |
0 | 0 | "0" | false | Essayer |
1 | 1 | "1" | true | Essayer |
"0" | 0 | "0" | true |
Essayer |
"000" | 0 | "000" | true |
Essayer |
"1" | 1 | "1" | true | Essayer |
NaN | NaN | "NaN" | false | Essayer |
Infinity | Infinity | "Infinity" | true | Essayer |
-Infinity | -Infinity | "-Infinity" | true | Essayer |
"" | 0 |
"" | false |
Essayer |
"20" | 20 | "20" | true | Essayer |
"twenty" | NaN | "twenty" | true | Essayer |
[ ] | 0 |
"" | true | Essayer |
[20] | 20 |
"20" | true | Essayer |
[10,20] | NaN | "10,20" | true | Essayer |
["twenty"] | NaN | "twenty" | true | Essayer |
["ten","twenty"] | NaN | "ten,twenty" | true | Essayer |
function(){} | NaN | "function(){}" | true | Essayer |
{ } | NaN | "[object Object]" | true | Essayer |
null | 0 |
"null" | false | Essayer |
undefined | NaN | "undefined" | false | Essayer |
La valeur entre guillemets indique une valeur de chaîne.
Valeur rougeIndique des valeurs que certains programmeurs ne souhaitent peut-être pas voir.
- Page précédente JS typeof
- Page suivante Désconstruction JS