Conversiones de tipo JavaScript (con ejemplos)

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 falsey todos los números distintos de cero como true. Y, si truese 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 nullvalores 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 nully los undefinedconvierte 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 true
0 "0" 0 false
"1" "1" 1 true
"0" "0" 0 true
"ten" "ten" NaN true
true "true" 1 true
false "false" 0 false
null "null" 0 false
undefined "undefined" NaN false
'' "" 0 false
' ' " " 0 true

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

Articulos interesantes...