Derniers tutoriels de développement web
 

JavaScript Type de conversion


Number() convertit un numéro, String() se transforme en un String, Boolean() convertit une valeur booléenne.


Types de données JavaScript

En JavaScript, il y a 5 différents types de données qui peuvent contenir des valeurs:

  • string
  • number
  • boolean
  • object
  • function

Il existe 3 types d'objets:

  • Object
  • Date
  • Array

Et les types de données 2 qui ne peuvent pas contenir des valeurs:

  • null
  • undefined

Le typeof opérateur

Vous pouvez utiliser le typeof opérateur pour trouver le type d'une variable JavaScript de données.

Exemple

typeof "John"                 // Returns string
typeof 3.14                   // Returns number
typeof NaN                    // Returns number
typeof false                  // Returns boolean
typeof [1,2,3,4]              // Returns object
typeof {name:'John', age:34}  // Returns object
typeof new Date()             // Returns object
typeof function () {}         // Returns function
typeof myCar                  // Returns undefined (if myCar is not declared)
typeof null                   // Returns object
Essayez - le vous - même »

S'il vous plaît observer:

  • Le type de données NaN est le numéro
  • Le type d'un de données array est un objet
  • Le type de données date est objet
  • Le type de données null est l' objet
  • Le type d'un de données undefined variable est undefined

Vous ne pouvez pas utiliser typeof pour déterminer si un objet JavaScript est un tableau (ou une date).


Le type de données de typeof

Le typeof opérateur est pas une variable. Il est un opérateur. Les opérateurs ( + - * / ) ne disposent pas de tout type de données.

Mais, le typeof opérateur renvoie toujours une chaîne contenant le type de l'opérande.


Le constructor de la propriété

Le constructor propriété renvoie la fonction constructeur pour toutes les variables JavaScript.

Exemple

"John".constructor                 // Returns function String()  { [native code] }
(3.14).constructor                 // Returns function Number()  { [native code] }
false.constructor                  // Returns function Boolean() { [native code] }
[1,2,3,4].constructor              // Returns function Array()   { [native code] }
{name:'John', age:34}.constructor  // Returns function Object()  { [native code] }
new Date().constructor             // Returns function Date()    { [native code] }
function () {}.constructor         // Returns function Function(){ [native code] }
Essayez - le vous - même »

Vous pouvez vérifier la propriété du constructeur pour savoir si un objet est un tableau (contient le mot "Array" ):

Exemple

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}
Essayez - le vous - même »

Vous pouvez vérifier la propriété du constructeur pour savoir 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 »

JavaScript Type de conversion

JavaScript variables peuvent être converties en une nouvelle variable et d'un autre type de données:

  • Par l'utilisation d'une fonction JavaScript
  • Automatiquement par JavaScript lui-même

Conversion de nombres en chaînes

La méthode globale String() peut convertir des nombres en chaînes.

Il peut être utilisé sur tout type de numéros, littéraux, variables ou expressions:

Exemple

String(x)         // returns a string from a number variable x
String(123)       // returns a string from a number literal 123
String(100 + 23)  // returns a string from a number from an expression
Essayez - le vous - même »

La méthode du nombre toString() fait la même chose.

Exemple

x.toString()
(123).toString()
(100 + 23).toString()
Essayez - le vous - même »

Dans le chapitre Méthodes numériques , vous trouverez plus de méthodes qui peuvent être utilisées pour convertir les nombres en chaînes:

méthode La description
toExponential() Retourne une chaîne, avec un nombre arrondi et écrit en utilisant la notation exponentielle.
toFixed() Retourne une chaîne, avec un nombre arrondi et écrit avec un certain nombre de décimales.
toPrecision() Retourne une chaîne, avec un nombre écrit avec une longueur spécifiée

Conversion booléens Strings

La méthode globale String() peut convertir booléens en chaînes.

String(false)        // returns "false"
String(true)         // returns "true"

La méthode booléenne toString() fait la même chose.

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

Conversion des dates à Cordes

La méthode globale String() peut convertir des dates en chaînes.

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

La date méthode toString() fait la même chose.

Exemple

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

Dans le chapitre Date de méthodes , vous trouverez plus de méthodes qui peuvent être utilisées pour convertir les dates pour les chaînes:

méthode La description
getDate() Obtenez le jour comme un numéro (1-31)
getDay() Obtenez le jour de la semaine un certain nombre (0-6)
getFullYear() Obtenez l'année à quatre chiffres (aaaa)
getHours() Obtenez l'heure (0-23)
getMilliseconds() Obtenez les millisecondes (0-999)
getMinutes() Obtenez les minutes (0-59)
getMonth() Obtenez le mois (0-11)
getSeconds() Obtenez les secondes (0-59)
getTime() Obtenez le temps (millisecondes depuis le 1er Janvier, 1970)

Conversion de chaînes en nombres

La méthode globale Number() peut convertir des chaînes en nombres.

Cordes contenant des nombres (comme "3.14" ) convertissent en nombres (comme 3.14).

Les chaînes vides se convertissent à 0.

Tout le reste se transforme en NaN (pas un nombre).

Number("3.14")    // returns 3.14
Number(" ")       // returns 0
Number("")        // returns 0
Number("99 88")   // returns NaN

Dans le chapitre Méthodes numériques , vous trouverez plus de méthodes qui peuvent être utilisées pour convertir des chaînes en nombres:

méthode La description
parseFloat() Analyse une chaîne et renvoie un nombre à virgule flottante
parseInt() Analyse une chaîne et renvoie un nombre entier

Le unaire + Operator

Le unaire + opérateur peut être utilisé pour convertir une variable à un certain nombre:

Exemple

var y = "5";      // y is a string
var x = + y;      // x is a number
Essayez - le vous - même »

Si la variable ne peut pas être converti, il sera encore devenu un certain nombre, mais avec la valeur NaN (pas un nombre):

Exemple

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
Essayez - le vous - même »

Conversion booléens Numbers

La méthode globale Number() peut également convertir booléens à des numéros.

Number(false)     // returns 0
Number(true)      // returns 1

Conversion des dates à numéros

La méthode globale Nombre () peut être utilisé pour convertir les dates pour les numéros.

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

La méthode de la date getTime() fait la même chose.

d = new Date();
d.getTime()        // returns 1404568027739

Conversion de type automatique

Lorsque JavaScript essaie de fonctionner sur un «mauvais» type de données, il va essayer de convertir la valeur à un type «droit».

Le résultat est pas toujours ce que vous attendez:

5 + null    // returns 5         because null is converted to 0
"5" + null  // returns "5null"   because null is converted to "null"
"5" + 2     // returns 52        because 2 is converted to "2"
"5" - 2     // returns 3         because "5" is converted to 5
"5" * "2"   // returns 10        because "5" and "2" are converted to 5 and 2
Essayez - le vous - même »

Conversion Chaîne automatique

JavaScript appelle automatiquement de la variable toString() fonction lorsque vous essayez de "sortie" d' un objet ou d' une variable:

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

// if myVar = {name:"Fjohn"}  // toString converts to "[object Object]"
// if myVar = [1,2,3,4]       // toString converts to "1,2,3,4"
// if myVar = new Date()      // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"

Les nombres et les booléens sont également convertis, mais ce ne sont pas très visibles:

// if myVar = 123             // toString converts to "123"
// if myVar = true            // toString converts to "true"
// if myVar = false           // toString converts to "false"

Tableau JavaScript Type de conversion

Ce tableau montre le résultat de la conversion des valeurs JavaScript Number, String et Boolean:

Original
Valeur
Converti
Number
Converti
à cordes
Converti
à Boolean
Essayez-le
false0"false"false Essayez - le »
true1"true"true Essayez - le »
00"0"false Essayez - le »
11"1"true Essayez - le »
"0"0"0"true Essayez - le »
"1"1"1"true Essayez - le »
NaNNaN"NaN"false Essayez - le »
InfinityInfinity"Infinity"true Essayez - le »
-Infinity-Infinity"-Infinity"true Essayez - le »
""0""false Essayez - le »
"20"20"20"true Essayez - le »
"twenty"NaN"twenty"true Essayez - le »
[ ]0""true Essayez - le »
[20]20"20"true Essayez - le »
[10,20]NaN"10,20"true Essayez - le »
["twenty"]NaN"twenty"true Essayez - le »
["ten","twenty"]NaN"ten,twenty"true Essayez - le »
function(){}NaN"function(){}"true Essayez - le »
{ }NaN"[object Object]"true Essayez - le »
null0"null"false Essayez - le »
undefinedNaN"undefined"false Essayez - le »

Les valeurs entre guillemets indiquent des valeurs de chaîne.

Les valeurs en rouge indiquent des valeurs (certains) les programmeurs pourraient ne pas attendre.