JavaScript Conversiones automáticas de tipos


Ejemplo

Tenga en cuenta que los números pueden convertirse accidentalmente a cadenas o NaN (no es un número).

JavaScript está escrito a la ligera. Una variable puede contener diferentes tipos de datos, y una variable puede cambiar su tipo de datos:

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

Al realizar operaciones matemáticas, JavaScript puede convertir números en cadenas:

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

Restar una cadena de una cadena, no genera un error pero devuelve NaN (no es un número):

"Hello" - "Dolly"    // returns NaN