En este tutorial, aprenderá sobre las conversiones de tipos en JavaScript con la ayuda de ejemplos.
El proceso de convertir un tipo de datos en otro tipo de datos se denomina conversión de tipos. Hay dos tipos de conversión de tipos en JavaScript.
- Conversión implícita
- Conversión explícita
Conversión implícita de JavaScript
En determinadas situaciones, JavaScript convierte automáticamente un tipo de datos en otro (al tipo correcto). Esto se conoce como conversión implícita.
Ejemplo 1: conversión implícita a cadena
// numeric string used with + gives string type let result; result = '3' + 2; console.log(result) // "32" result = '3' + true; console.log(result); // "3true" result = '3' + undefined; console.log(result); // "3undefined" result = '3' + null; console.log(result); // "3null"
Nota : Cuando se agrega un número a una cadena, JavaScript convierte el número en una cadena antes de la concatenación.
Ejemplo 2: conversión implícita a número
// numeric string used with - , / , * results number type let result; result = '4' - '2'; console.log(result); // 2 result = '4' - 2; console.log(result); // 2 result = '4' * 2; console.log(result); // 8 result = '4' / 2; console.log(result); // 2
Ejemplo 3: resultados de cadenas no numéricas en NaN
// non-numeric string used with +, - , / , * results to NaN let result; result = 'hello' - 'world'; console.log(result); // NaN result = '4' - 'hello'; console.log(result); // NaN
Ejemplo 4: conversión booleana implícita en número
// if boolean is used, true is 1, false is 0 let result; result = '4' - true; console.log(result); // 3 result = 4 + true; console.log(result); // 5 result = 4 + false; console.log(result); // 4
Nota: JavaScript considera 0 como false
y todos los números distintos de cero como true
. Y, si true
se convierte en un número, el resultado siempre es 1.
Ejemplo 5: conversión nula a número
// null is 0 when used with number let result; result = 4 + null; console.log(result); // 4 result = 4 - null; console.log(result); // 4
Ejemplo 6: indefinido usado con número, booleano o nulo
// Arithmetic operation of undefined with number, boolean or null gives NaN let result; result = 4 + undefined; console.log(result); // NaN result = 4 - undefined; console.log(result); // NaN result = true + undefined; console.log(result); // NaN result = null + undefined; console.log(result); // NaN
Conversión explícita de JavaScript
También puede convertir un tipo de datos a otro según sus necesidades. La conversión de tipos que realiza manualmente se conoce como conversión de tipos explícita.
En JavaScript, las conversiones de tipos explícitos se realizan mediante métodos integrados.
A continuación, se muestran algunos métodos comunes de conversiones explícitas.
1. Convertir a número explícitamente
Para convertir cadenas numéricas y valores booleanos en números, puede usar Number()
. Por ejemplo,
let result; // string to number result = Number('324'); console.log(result); // 324 result = Number('324e-1') console.log(result); // 32.4 // boolean to number result = Number(true); console.log(result); // 1 result = Number(false); console.log(result); // 0
En JavaScript, las cadenas y los null
valores vacíos devuelven 0 . Por ejemplo,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Si una cadena es un número inválido, el resultado será NaN
. Por ejemplo,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Nota : También puede generar números de cadenas utilizando parseInt()
, parseFloat()
, operador unitario +
y Math.floor()
. Por ejemplo,
let result; result = parseInt('20.01'); console.log(result); // 20 result = parseFloat('20.01'); console.log(result); // 20.01 result = +'20.01'; console.log(result); // 20.01 result = Math.floor('20.01'); console.log(result); // 20
2. Convertir a cadena explícitamente
Para convertir otros tipos de datos en cadenas, puede usar String()
o toString()
. Por ejemplo,
//number to string let result; result = String(324); console.log(result); // "324" result = String(2 + 4); console.log(result); // "6" //other data types to string result = String(null); console.log(result); // "null" result = String(undefined); console.log(result); // "undefined" result = String(NaN); console.log(result); // "NaN" result = String(true); console.log(result); // "true" result = String(false); console.log(result); // "false" // using toString() result = (324).toString(); console.log(result); // "324" result = true.toString(); console.log(result); // "true"
Nota : String()
toma null
y los undefined
convierte en cadena. Sin embargo, toString()
da error cuandonull are passed.
3. Convertir a booleano explícitamente
Para convertir otros tipos de datos a booleanos, puede usar Boolean().
En JavaScript, undefined
, null
, 0
, NaN
, ''
convertidos a false
. Por ejemplo,
let result; result = Boolean(''); console.log(result); // false result = Boolean(0); console.log(result); // false result = Boolean(undefined); console.log(result); // false result = Boolean(null); console.log(result); // false result = Boolean(NaN); console.log(result); // false
Todos los demás valores dan true
. Por ejemplo,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
Tabla de conversión de tipos de JavaScript
La tabla muestra la conversión de diferentes valores a String, Number y Boolean en JavaScript.
Value | String Conversion | Number Conversion | Boolean Conversion |
1 | "1" | 1 |
|
0 | "0" | 0 |
|
"1" | "1" | 1 |
|
"0" | "0" | 0 |
|
"ten" | "ten" |
|
|
| "true" | 1 |
|
| "false" | 0 |
|
| "null" | 0 |
|
| "undefined" |
|
|
'' | "" | 0 |
|
' ' | " " | 0 |
|
Aprenderá sobre la conversión de objetos y matrices a otros tipos de datos en tutoriales posteriores.
Visite estos ejemplos para obtener más información:
- Fechas de JavaScript a números
- Fechas de JavaScript a cadenas