Transmitir en JavaScript

Cómo transmitir de un tipo de datos a otro en JavaScript

Incluso si JavaScript es un lenguaje de tipo impreciso, es posible que tenga la necesidad de convertir un valor de un tipo a otro.

En JavaScript tenemos esos tipos primitivos:

  • Number
  • String
  • Boolean
  • Symbol

y el tipo de objeto:

  • Object

(másnullyundefined, pero no tiene sentido enviar desde / hacia ellos)

Por ejemplo, es posible que desee convertir:

  • un número a una cuerda
  • una cadena a un número
  • una cadena a un booleano
  • un booleano a una cadena

…etcétera.

Estas son las técnicas que puede utilizar para convertir de un tipo a otro. Cubro los casos más habituales.

Conversión a cadenas

En general, la conversión de cualquier cosa a una cadena suele ser una cuestión de llamar altoString()método en cualquier valor, y JavaScript creará un valor de cadena correspondiente a ese tipo. O puede pasar cualquier valor alString()función global.

Casting de número a cuerda

Utilice la función global de cadena o el tipo de númerotoString()método:

String(10) //"10"
(10).toString() //"10"

Conversión de booleano a cadena

Utilice la función global String o el tipo booleanotoString()método:

String(true) //"true"
true.toString() //"true"
String(false) //"false"
false.toString() //"false"

Transmitiendo desde la fecha hasta la cuerda

Utilice la función global String o el tipo de fechatoString()método:

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 cuerda

String(null) //"null"
String(undefined) //"undefined"
String(NaN) //"NaN"

Conversión a números

Casting de cuerda a número

Podemos hacer esto usando elNumber()función global, que es una especie de constructor. Podemos pasarle una cadena y JavaScript descubrirá cómo convertirlo en un número:

Number("1") //1
Number("0") //0

Las cadenas se recortan antes de convertirse en números:

Number(" 1 ") //1

pasar una cadena vacía por defecto a 0:

Number("") //0

y para trabajar con decimales se usa un punto:

Number("12.2")

Si una cadena contiene caracteres no válidos, generará unNaN.

Estos son los conceptos básicos de la conversión a números, pero doy muchos más detalles encómo convertir una cadena en un número en JavaScript. Hay otras formas de generar números a partir de cadenas que incluyenparseInt(),parseFloat(),Math.floor(), el unario+operador.

Conversión de booleano a número

Al igual que hicimos con la cadena, pasando un booleano aNumber()devolverá 0 o 1:

Number(true) //1
Number(false) //0

Casting de fecha a número

Si pasa un objeto Date aNumber(), devolverá la fecha y hora, que es la mejor fecha para la conversión de números que puede obtener.

Casos especiales con número

Number(null) //0
Number(undefined) //NaN
Number(NaN) //NaN

Conversión a valores booleanos

Cualquier valor se puede convertir a booleano pasándolo aBoolean().

Todos los valores se resolverántrueexcepto:

Boolean(false) //false
Boolean(0) //false
Boolean(NaN) //false
Boolean("") //false
Boolean(null) //false
Boolean(undefined) //false

Más tutoriales de js: