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(false)  // Retour "false"
String(true)  // Retour "true"

La méthode booléenne toString() a également le même effet.

false.toString() // Renvoie "false"
true.toString() // Renvoie "true"



Convertir la date en chaîne

La méthode globale String() peut convertir la date en chaîne.

String(Date()) // Retour jeu. 17 juillet 2014 15:38:19 GMT+0200 (heure avancée de l'Europe de l'Ouest)

Méthode de datetoString( ) a le même effet.

Exemple

Date().toString() // Retour jeu. 17 juillet 2014 15:38:19 GMT+0200 (heure avancée de l'Europe de l'Ouest)

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("3.14") // Renvoie 3.14
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(faux) // Renvoie 0
Nombre(vrai) // Renvoie 1



Convertir la date en nombre

Méthode globale Number() Convertir la date en nombre.

d = nouveau Date();
Numéro(d)    // Retour 1404568027739

Méthode Date getTime() a également le même effet.

d = nouveauDate();
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 5 null est converti en 0
"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 :

document.getElementById("demo").innerHTML = maVar;

// 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 :

// si myVar = 123                                                                                                                                                                    // toString Conversion "True" <<>
// if myvar = false // tostring converti en "false"