Cómo convertir de un tipo de datos a otro en JavaScript
Incluso si JavaScript es un lenguaje poco tipado, es posible que tengas la necesidad de convertir un valor de un tipo a otro.
En JavaScript tenemos estos tipos primitivos:
Number
String
Boolean
Symbol
y el tipo de objeto:
Object
(más null
y undefined
, pero no tiene sentido enviar mensajes desde/hacia ellos)
Por ejemplo, es posible que desees convertir:
- un número a una cadena
- una cadena a un número
- una cadena a un booleano
- un booleano a una cadena
…etcétera.
A continuación se indican las técnicas que se pueden utilizar para pasar de un tipo a otro. Trato los casos más habituales.
Convirtiendo a cadenas
En general, para convertir cualquier cosa en una cadena, normalmente es necesario llamar al toString()
método para cualquier valor y JavaScript creará un valor de cadena correspondiente a ese tipo. También puedes pasar cualquier valor a la String()
función global.
Conversión de número a cadena
Utilice la función global String o el toString()
método de tipo Number:
String(10) //"10"(10).toString() //"10"
Conversión de booleano a cadena
Utilice la función global String o el toString()
método de tipo Boolean:
String(true) //"true"true.toString() //"true"String(false) //"false"false.toString() //"false"
De la fecha a la cuerda
Utilice la función global String o el toString()
método de tipo Date:
String(new Date('2019-01-22'))//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"(new Date('2019-01-22')).toString()//"Tue Jan 22 2019 01:00:00 GMT+0100 (Central European Standard Time)"
Casos especiales con cuerdas
String(null) //"null"String(undefined) //"undefined"String(NaN) //"NaN"
Convirtiendo a números
Conversión de cadena a número
Podemos hacer esto usando la Number()
función global, que es una especie de constructor. Podemos pasarle una cadena y JavaScript averiguará cómo convertirla en un número: Blog sobre productos para la limpieza del hogar
Number("1") //1Number("0") //0
Las cadenas se recortan antes de convertirse en números:
Number(" 1 ") //1
Al pasar una cadena vacía, el valor predeterminado es 0:
Number("") //0
y para trabajar con decimales se utiliza un punto:
Number("12.2")
Si una cadena contiene caracteres no válidos, se generará un NaN
.
Estos son los conceptos básicos de conversión a números, pero doy muchos más detalles sobre cómo convertir una cadena en un número en JavaScript . Hay otras formas de generar números a partir de una cadena parseInt()
, parseFloat()
incluido Math.floor()
el operador unario +
.
Conversión de booleano a número
Tal como lo hicimos para la cadena, al pasar un valor booleano Number()
se devolverá 0 o 1:
Number(true) //1Number(false) //0
Casting de fecha a número
Si pasa un objeto Fecha a Number()
, devolverá la marca de tiempo de la fecha, que es la mejor conversión de fecha a número que puede obtener.
Casos especiales con número
Number(null) //0Number(undefined) //NaNNumber(NaN) //NaN
Conversión a booleanos
Cualquier valor se puede convertir a booleano pasándolo a Boolean()
.
Todos los valores se resolverán true
excepto:
Boolean(false) //falseBoolean(0) //falseBoolean(NaN) //falseBoolean("") //falseBoolean(null) //falseBoolean(undefined) //false
Tips para principiantes de JavaScript
Tal vez te puede interesar:
- Cómo generar un número aleatorio entre dos números en JavaScript
- Cómo esperar el evento DOM listo en JavaScript simple
- Cómo determinar si una fecha es hoy en JavaScript
- Cómo contar el número de propiedades en un objeto JavaScript
Conversión en JavaScript
Conversión de número a cadenaConversión de booleano a cadenaDe la fecha a la cuerdaCasos especiales con cuerdasConversión de cadena a númeroConversión de
programar
es
https://aprendeprogramando.es/static/images/programar-conversion-en-javascript-1885-0.jpg
2024-10-29
Si crees que alguno de los contenidos (texto, imagenes o multimedia) en esta página infringe tus derechos relativos a propiedad intelectual, marcas registradas o cualquier otro de tus derechos, por favor ponte en contacto con nosotros en el mail [email protected] y retiraremos este contenido inmediatamente