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.
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:
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
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 |
---|---|---|---|---|
false | 0 | "false" | false | Essayez - le » |
true | 1 | "true" | true | Essayez - le » |
0 | 0 | "0" | false | Essayez - le » |
1 | 1 | "1" | true | Essayez - le » |
"0" | 0 | "0" | true | Essayez - le » |
"1" | 1 | "1" | true | Essayez - le » |
NaN | NaN | "NaN" | false | Essayez - le » |
Infinity | Infinity | "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 » |
null | 0 | "null" | false | Essayez - le » |
undefined | NaN | "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.