Ejemplo de JavaScript toString: cómo convertir un número en una cadena en JS y más

A veces, desea convertir un tipo de datos en otro tipo de datos sin cambiar los valores manualmente.

Por ejemplo, es posible que desee convertir un número en una cadena. JavaScript a veces hace esto implícitamente.

Como cuando usa el operador doble igual ( ==), o cuando intenta hacer algo en un valor con un tipo de datos que es incompatible con la operación. Esto se llama Coerción de tipo.

Dicho esto, también puede convertir tipos de datos explícitamente. Y te mostraré cómo hacerlo en este artículo.

El tipo de datos de cadena es un tipo de datos muy común en JavaScript. Para casi todos los demás tipos de datos, necesita tener una representación de cadena.

Del mismo modo que debe haber visto algo similar a "[object Object]"cuando usa un objeto en lugar de una cadena real.

En este artículo, aprenderemos cuál es el toStringmétodo y cómo convertir un número (y algunos otros tipos de datos) en una cadena usando este método.

El toStringmétodo

Como su nombre lo indica, este método se utiliza para cambiar datos a una cadena. Las matrices, los números y los valores booleanos tienen cada uno este método que convierte sus datos de varias formas. Veámoslos individualmente ahora.

Cómo convertir un número en una cadena

El toStringmétodo existe en cada literal numérico. Convierte números en sus representaciones de cadena. Así es como se usa:

const num = 54; console.log(num.toString()) // "54" 

Pero hay más en esto. El toStringmétodo de números también acepta un baseargumento. Este argumento le permite convertir un número a otra base.

El valor devuelto es la representación de cadena del nuevo número. Así es como se usa:

const num = 54; const num2 = num.toString(2); console.log(num2); // "110110" 

parseIntes otro método de JavaScript que, por el contrario, convierte cadenas en sus respectivas representaciones numéricas. Así es como funciona:

const numInStr = "54"; const str = "Hello"; console.log(parseInt(numInStr)); // 54 console.log(parseInt(str)); // NaN 

Para una variable que no sea similar a un número, parseIntdevuelve Nancomo se ve arriba.

Cómo convertir una matriz en una cadena en JavaScript

Las matrices también tienen el toStringmétodo. El valor devuelto de este método es una concatenación de todos los valores de la matriz (y las matrices anidadas en profundidad) separados por comas. Así es como se usa:

const arr = ["javascript", "toString", [1, "deep1", [3, 4, "array"]]]; console.log(arr.toString()); // "javascript,toString,1,deep1,3,4,array" 

Cómo convertir un objeto en una cadena en JavaScript

El valor de retorno de toStringen un objeto es, tal y como puede haber encontrado a menudo "[object Object]". Por ejemplo:

const obj = {name: 'Object'}; const obj2 = {type: 'data', number: 100}; console.log(obj.toString()); // [object Object] console.log(obj2.toString()); // [object Object] 

La conversión predeterminada de objetos a cadenas es [object Object]. ¿Observa que hay dos objects allí, y no solo uno? ¿Y el otro está en mayúscula?

Hay más representaciones para objetos como los siguientes:

function print() {}; const arr = []; const obj = {}; console.log( Object.prototype.toString.call(print), Object.prototype.toString.call(arr), Object.prototype.toString.call(obj) ) // [object Function] [object Array] [object Object] 

Funciones, matrices, objetos e incluso fechas y expresiones regulares son todos objetos. Y cada uno de ellos tiene el toStringmétodo.

Cuando toStringse llama a ellos, toma cualquier clase de Objeto que sea el valor y luego lo imprime como se ve arriba ("Función, Matriz, Objeto).

Usamos call(variable)porque toStringobtiene la clase de objeto a través de la thispropiedad.

Conclusión

El .toStringmétodo devuelve una conversión de cadena de los datos en los que se utiliza. Esto es muy útil para ciertos casos, especialmente numbers.

En este artículo, aprendimos cómo funciona el toStringmétodo JavaScript con numbers, arrays y objectsy también miramos un poco parseInt.