Às vezes, você deseja converter um tipo de dados em outro sem alterar os valores manualmente.

Por exemplo, você pode querer converter um número em uma string. JavaScript às vezes faz isso implicitamente.

Como quando você usa o operador duplo igual (==), ou quando você tenta fazer algo em um valor com um tipo de dados que é incompatível com a operação. Isso é chamado Coerção de tipo.

Dito isso, você também pode converter tipos de dados explicitamente. E vou mostrar como fazer isso neste artigo.

O tipo de dados de string é um tipo de dados muito comum em JavaScript. Para quase todos os outros tipos de dados, você precisa ter uma representação de string.

Assim como você deve ter visto algo semelhante a "[object Object]" quando você usa um objeto no lugar de uma string real.

Neste artigo, aprenderemos o que toString método é, e como converter um número (e alguns outros tipos de dados) em uma string usando este método.

o toString método

Como o nome indica, esse método é usado para alterar os dados para uma string. Matrizes, números e booleanos têm, cada um, esse método que converte seus dados de várias maneiras. Vamos examiná-los individualmente agora.

Como converter um número em uma string

o toString método existe em cada literal de número. Ele converte números em suas representações de string. É assim que é usado:

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

Mas há mais nisso. o toString método para números também aceita um base argumento. Este argumento permite que você converta um número em outra base.

O valor retornado é a representação em string do novo número. É assim que é usado:

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

parseInt é outro método JavaScript que, em contraste, converte strings em suas respectivas representações numéricas. Funciona assim:

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

Para uma variável não semelhante a um número, parseInt retorna Nan como visto acima.

Como converter uma matriz em uma string em JavaScript

Arrays também têm o toString método. O valor retornado deste método é uma concatenação de todos os valores do array (e arrays aninhados nele) separados por vírgulas. É assim que é usado:

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

Como converter um objeto em uma string em JavaScript

O valor de retorno de toString em um objeto é – assim como você pode ter encontrado muitas vezes – "[object Object]". Por exemplo:

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

A conversão padrão de objetos em string é [object Object]. Observe que existem dois objectestá lá, e não apenas um? E o outro está com maiúscula?

Existem mais representações para objetos como o seguinte:

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]

Funções, matrizes, objetos e até mesmo datas e regex são todos objetos. E cada um deles tem o toString método.

Quando toString é chamado neles, ele pega qualquer classe de objeto que o valor é e, em seguida, imprime como você vê acima (“Função, Array, Objeto).

Nós usamos call(variable) porque o toString obtém a classe de objeto por meio do this propriedade.

Conclusão

o .toString método retorna uma conversão de string dos dados em que é usado. Isso é muito útil para certos casos, especialmente numbers.

Neste artigo, aprendemos como o JavaScript toString método funciona com numbers, arrayareia objectse também olhamos um pouco para parseInt.