Neste tutorial, você aprenderá sobre conversões de tipo em JavaScript com a ajuda de exemplos.
O processo de conversão de um tipo de dados em outro é chamado de conversão de tipo. Existem dois tipos de conversão de tipo em JavaScript.
- Conversão implícita
- Conversão Explícita
Conversão implícita de JavaScript
Em certas situações, o JavaScript converte automaticamente um tipo de dados em outro (para o tipo certo). Isso é conhecido como conversão implícita.
Exemplo 1: conversão implícita em string
// 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 : Quando um número é adicionado a uma string, o JavaScript converte o número em uma string antes da concatenação.
Exemplo 2: conversão implícita em 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
Exemplo 3: resultados de string não numéricos para 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
Exemplo 4: conversão booleana implícita em 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
e todos os números diferentes de zero como true
. E, se true
for convertido para um número, o resultado será sempre 1.
Exemplo 5: conversão nula em 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
Exemplo 6: undefined usado com number, boolean ou null
// 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
Conversão Explícita de JavaScript
Você também pode converter um tipo de dados em outro de acordo com suas necessidades. A conversão de tipo que você faz manualmente é conhecida como conversão de tipo explícita.
Em JavaScript, as conversões explícitas de tipo são feitas usando métodos integrados.
Aqui estão alguns métodos comuns de conversões explícitas.
1. Converter para número explicitamente
Para converter strings numéricas e valores booleanos em números, você pode usar Number()
. Por exemplo,
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
Em JavaScript, strings e null
valores vazios retornam 0 . Por exemplo,
let result; result = Number(null); console.log(result); // 0 let result = Number(' ') console.log(result); // 0
Se uma string for um número inválido, o resultado será NaN
. Por exemplo,
let result; result = Number('hello'); console.log(result); // NaN result = Number(undefined); console.log(result); // NaN result = Number(NaN); console.log(result); // NaN
Nota : Você também pode gerar números de strings usando parseInt()
, parseFloat()
, operador unário +
e Math.floor()
. Por exemplo,
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. Converta para string explicitamente
Para converter outros tipos de dados em strings, você pode usar String()
ou toString()
. Por exemplo,
//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()
pega null
e undefined
converte em string. Porém, toString()
dá erro quandonull are passed.
3. Converter explicitamente em booleano
Para converter outros tipos de dados em um booleano, você pode usar Boolean().
Em JavaScript, undefined
, null
, 0
, NaN
, ''
convertidos ao false
. Por exemplo,
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 os outros valores dão true
. Por exemplo,
result = Boolean(324); console.log(result); // true result = Boolean('hello'); console.log(result); // true result = Boolean(' '); console.log(result); // true
Tabela de conversão de tipo de JavaScript
A tabela mostra a conversão de diferentes valores para String, Number e Boolean em 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 |
|
Você aprenderá sobre a conversão de objetos e matrizes em outros tipos de dados em tutoriais posteriores.
Visite estes exemplos para saber mais:
- JavaScript datas para números
- Datas de JavaScript para Strings