Conversion de types JavaScript
Number() se convertit en nombre, String() se convertit en chaîne et Boolean() se convertit en valeur booléenne.
Types de données JavaScript
Il existe 5 types de données différents en JavaScript :
chaîne
numéro
booléen
objet
fonction
3 types d'objets :
Objet
Date
Tableau
2 types de données qui ne contiennent aucune valeur :
null
non défini
opérateur typeof
Vous pouvez utiliser l'opérateur typeof pour afficher le type de données d'une variable JavaScript.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> typeof 操作符返回变量、对象、函数、表达式的类型。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = typeof "john" + "<br>" + typeof 3.14 + "<br>" + typeof NaN + "<br>" + typeof false + "<br>" + typeof [1,2,3,4] + "<br>" + typeof {name:'john', age:34} + "<br>" + typeof new Date() + "<br>" + typeof function () {} + "<br>" + typeof myCar + "<br>" + typeof null; </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Veuillez noter :
Le type de données de NaN est un nombre
Le type de données du tableau (Array) est un objet
Le type de données de la date (Date) est un objet
Le type de données de null est un objet
Variable non définie Le type de données n'est pas défini
Si l'objet est JavaScript Array ou JavaScript Date, nous ne pouvons pas juger de leur type via typeof, car les deux renvoient un objet. L'attribut
constructor
constructor renvoie le constructeur de toutes les variables JavaScript.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> constructor 属性返回变量或对象的构造函数。</p> <p id="demo"></p> <script> document.getElementById("demo").innerHTML = "john".constructor + "<br>" + (3.14).constructor + "<br>" + false.constructor + "<br>" + [1,2,3,4].constructor + "<br>" + {name:'john', age:34}.constructor + "<br>" + new Date().constructor + "<br>" + function () {}.constructor; </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Vous pouvez utiliser l'attribut constructeur pour vérifier si l'objet est un tableau (Contient la chaîne "Array") :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>判断是否为数组。</p> <p id="demo"></p> <script> var fruits = ["Banana", "Orange", "Apple", "Mango"]; document.getElementById("demo").innerHTML = isArray(fruits); function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur "Exécuter l'instance" bouton Afficher des exemples en ligne
Vous pouvez utiliser l'attribut constructeur pour voir si l'objet est une date (Contient la chaîne "Date") :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>判断是否为日期。</p> <p id="demo"></p> <script> var myDate = new Date(); document.getElementById("demo").innerHTML = isDate(myDate); function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur "Exécuter l'instance" bouton Voir des exemples en ligne
Conversion de type JavaScript
Les variables JavaScript peuvent être converties en de nouvelles variables ou en d'autres types de données :
En utilisant les fonctions JavaScript
Conversion automatique via JavaScript lui-même
Convertir les nombres en chaînes
La méthode globale String() peut convertir Convert nombres en chaînes.
Cette méthode peut être utilisée pour tout type de chiffres, lettres, variables, expressions :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> String() 方法可以将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = String(x) + "<br>" + String(123) + "<br>" + String(100 + 23); </script> </body> </html>
Exécuter l'instance »
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Méthode numérique toString() a également le même effet.
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p>toString() 方法将数字转换为字符串。</p> <p id="demo"></p> <script> var x = 123; document.getElementById("demo").innerHTML = x.toString() + "<br>" + (123).toString() + "<br>" + (100 + 23).toString(); </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Dans le chapitre Méthode numérique, vous pouvez trouver d'autres méthodes pour convertir des nombres en chaînes :
方法 | 描述 |
---|---|
toExponential() | 把对象的值转换为指数计数法。 |
toFixed() | 把数字转换为字符串,结果的小数点后有指定位数的数字。 |
toPrecision() | 把数字格式化为指定的长度。 |
Convertir la valeur booléenne en chaîne
La méthode globale String() peut convertir la valeur booléenne en chaîne.
String(true) // Retour "true"
La méthode booléenne toString() a également le même effet.
true.toString() // Renvoie "true"
Convertir la date en chaîne
La méthode globale String() peut convertir la date en chaîne.
Méthode de datetoString( ) a le même effet.
Exemple
Dans le chapitre Méthode Date, Vous pouvez afficher plus de fonctions pour convertir des dates en chaînes :
方法 | 描述 |
---|---|
getDate() | 从 Date 对象返回一个月中的某一天 (1 ~ 31)。 |
getDay() | 从 Date 对象返回一周中的某一天 (0 ~ 6)。 |
getFullYear() | 从 Date 对象以四位数字返回年份。 |
getHours() | 返回 Date 对象的小时 (0 ~ 23)。 |
getMilliseconds() | 返回 Date 对象的毫秒(0 ~ 999)。 |
getMinutes() | 返回 Date 对象的分钟 (0 ~ 59)。 |
getMonth() | 从 Date 对象返回月份 (0 ~ 11)。 |
getSeconds() | 返回 Date 对象的秒数 (0 ~ 59)。 |
getTime() | 返回 1970 年 1 月 1 日至今的毫秒数。 |
Convertir une chaîne en nombre
La méthode globale Number() peut convertir une chaîne en nombre.
Les chaînes contenant des nombres (comme "3.14") sont converties en nombres (comme 3.14).
Les chaînes vides sont converties en 0.
Les autres chaînes seront converties en NaN (pas en nombre).
Nombre("") // Retour 0
Numéro("") // Retour 0
Numéro("99 88") // Return NaN
Dans le chapitre Méthode Number, vous pouvez voir plus de méthodes pour convertir des chaînes en nombres :
方法 | 描述 |
---|---|
parseFloat() | 解析一个字符串,并返回一个浮点数。 |
parseInt() | 解析一个字符串,并返回一个整数。 |
Opérateur unaire +
Opérateur + peut être utilisé pour convertir des variables en nombres :
Instances
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "5"; var x = + y; document.getElementById("demo").innerHTML = typeof y + "<br>" + typeof x; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton "Exécuter l'instance" pour afficher l'instance en ligne
Si la variable ne peut pas être convertie, elle sera toujours une nombre, mais la valeur sera NaN (pas un numéro) :
Instance
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php.cn</title> </head> <body> <p> typeof 操作符返回变量或表达式的类型。</p> <button onclick="myFunction()">点我</button> <p id="demo"></p> <script> function myFunction() { var y = "John"; var x = + y; document.getElementById("demo").innerHTML = typeof x + "<br>" + x; } </script> </body> </html>
Exécuter l'instance»
Cliquez sur le bouton « Exécuter l'instance » pour afficher l'instance en ligne
Convertir la valeur booléenne en nombre
Méthode globale Number() Convertir la valeur booléenne en nombre.
Nombre(vrai) // Renvoie 1
Convertir la date en nombre
Méthode globale Number() Convertir la date en nombre.
Numéro(d) // Retour 1404568027739
Méthode Date getTime() a également le même effet.
d.getTime() // Retour 1404568027739
Conversion de type automatique
Lorsque JavaScript tente d'opérer sur un "mauvais" type de données, il sera automatiquement converti en type de données "correct".
Le résultat suivant n'est pas celui que vous attendez :
"5" + null // Renvoie "5null" null est converti en "null"
"5" + 1 // Retour "51" 1 converti en "1"
"5" - 1 // Retour 4 "5" est converti en 5
Converti automatiquement en chaîne
Lorsque vous essayez de générer un objet ou une variable, JavaScript appellera automatiquement la méthode toString() de la variable :
// if maVar = {name:"Fjohn"} // conversion toString Pour "[object Object]"
// si myVar = [1,2,3,4] // toString est converti en "1,2,3,4"
// if myVar = new Date() // toString est converti en "Fri Jul 18 2014 09:08:55 GMT+0200"
Nombres et valeurs booléennes Ils sont aussi souvent convertis les uns aux autres :
// if myvar = false // tostring converti en "false"