JavaScript Conversions de type automatique


Exemple

Attention, les nombres peuvent être convertis accidentellement en chaînes ou en NaN (pas un nombre).

JavaScript est tapé librement. Une variable peut contenir différents types de données et une variable peut modifier son type de données:

var x = "Hello";     // typeof x is a string
x = 5;               // changes typeof x to a number

Lors d'opérations mathématiques, JavaScript peut convertir des nombres en chaînes:

var x = 5 + 7;       // x.valueOf() is 12,  typeof x is a number
var x = 5 + "7";     // x.valueOf() is 57,  typeof x is a string
var x = "5" + 7;     // x.valueOf() is 57,  typeof x is a string
var x = 5 - 7;       // x.valueOf() is -2,  typeof x is a number
var x = 5 - "7";     // x.valueOf() is -2,  typeof x is a number
var x = "5" - 7;     // x.valueOf() is -2,  typeof x is a number
var x = 5 - "x";     // x.valueOf() is NaN, typeof x is a number

Soustraire une chaîne à une chaîne ne génère pas d'erreur mais renvoie NaN (pas un nombre):

"Hello" - "Dolly"    // returns NaN