À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 object
está 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 number
s.
Neste artigo, aprendemos como o JavaScript toString
método funciona com number
s, array
areia object
se também olhamos um pouco para parseInt
.