Aprenda los conceptos básicos de las conversiones de tipos de 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 desee 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:Te recomendamos Blog sobre seguros de auto
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
PDOException: SQLSTATE[HY000]: General error: 1 no such table: products in /home/fromthes/microblog/funcs2020.php:1296 Stack trace: #0 /home/fromthes/microblog/funcs2020.php(1296): PDO->query('delete FROM pro...') #1 /home/fromthes/microblog/indexin.log(1751): amazonize('
Conversiones de tipos de JavaScript (casting)
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
2025-01-20

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