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 "John"                 // renvoie string
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

"John".constructor                 // renvoie la fonction String() { [native code] }
(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

function isArray(myArray) {
    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

function isDate(myDate) {
    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(x)         // convertit la variable x en une chaîne et la renvoie
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.

Exemples

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

Essayez-le vous-même »

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

Les méthodes de BooleantoString()ont également le même effet.

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


Conversion des dates en chaînes de caractères

Date() renvoie une chaîne de caractères.

Date()      // renvoie Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

La méthode globale String() peut convertir un objet date en une chaîne de caractères.

String(new Date())      // renvoie Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

Les méthodes DatetoString()ont également le même effet.

Exemples

obj = new Date()
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("3.14")    // renvoie 3.14
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 :

Exemples

var y = "5";      // y est une chaîne
var x = + y;      // x est un nombre

Essayez-le vous-même »

Si la variable ne peut pas être convertie, elle restera un nombre, mais la valeur sera NaN (Not a Number) :

Exemples

var y = "John";   // y est une chaîne
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(false)     // Renvoie 0
Number(true)      // Renvoie 1


Conversion des dates en nombres

La méthode globaleNumber()peut convertir des dates en nombres.

d = new Date();
Number(d)          // Renvoie 1404568027739

La méthode DategetTime()a le même effet.

d = new Date();
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 5 null se convertit en 0
"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 :

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

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 = 123 // toString convertit en "123"
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 »
Autres extensions