Conversion de type JavaScript

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"

Essayez-le vous-même

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] }"

Essayez-le vous-même

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;
}

Essayez-le vous-même

Ou encore plus simple, vous pouvez vérifier si l'objet est une fonction d'array :

Exemple

function isArray(myArray) {
    return myArray.constructor === Array;
}

Essayez-le vous-même

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;
}

Essayez-le vous-même

Ou encore plus simple, vous pouvez vérifier si l'objet est une fonction de date :

Exemple

function isDate(myDate) {
    return myDate.constructor === Date;
}

Essayez-le vous-même

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

Essayez-le vous-même

Méthodes numériques toString() De même.

Exemple

x.toString()
(123).toString()
(100 + 23).toString()

Essayez-le vous-même

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

Essayez-le vous-même

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)

Essayez-le vous-même

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

Essayez-le vous-même

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.