Conversão de Tipos JavaScript
- Página Anterior JS typeof
- Próxima Página Desestruturação JS
Number()
Conversão de número,String()
Conversão de string,Boolean()
Conversão de valor booleano.
Tipos de Dados do JavaScript
Existem cinco tipos de dados que podem conter valores em JavaScript:
- Cadeia (string)
- Número (number)
- Booleano (boolean)
- Objeto (object)
- Função (function)
Existem três tipos de objetos:
- Objeto (Object)
- Data (Date)
- Array (Array)
Existem dois tipos de dados que não podem conter valores:
- null
- undefined
Operador typeof
Você pode usar typeof
Operadores para determinar o tipo de dados de variáveis JavaScript.
Exemplo
typeof "Bill" // Returns "string" typeof 3.14 // Returns "number" typeof NaN // Returns "number" typeof false // retorna "boolean" typeof [1,2,3,4] // retorna "object" typeof {name:'Bill', age:62} // retorna "object" typeof new Date() // retorna "object" typeof function () {} // retorna "function" typeof myCar // retorna "undefined" * typeof null // retorna "object"
Atenção:
- O tipo de dados de NaN é numérico
- O tipo de dados de um array é objeto
- O tipo de dados de uma data é objeto
- O tipo de dados de null é objeto
- O tipo de dados de uma variável não definida é undefined
- O tipo de dados de uma variável não atribuída também é undefined
Você não pode usar typeof
para determinar se um objeto JavaScript é um array (ou data).
Os tipos de dados do typeof
typeof
O operador não é uma variável. Ele pertence aos operadores. Operadores (por exemplo +
-
*
/
não há tipo de dados. )
mas,typeof
sempreretorna uma stringinclusa no tipo de dados do operando).
A propriedade constructor
constructor
A propriedade retorna a função construtora de todos os variáveis JavaScript.
Exemplo
"Bill".constructor // retorna "function String() { [native code] }" (3.14).constructor // retorna "function Number() { [native code] }" false.constructor // retorna "function Boolean() { [native code] }" [1,2,3,4].constructor // retorna "function Array() { [native code] }" {name:'Bill', age:62}.constructor // retorna "function Object() { [native code] }" new Date().constructor // Retorna "function Date() { [native code] }" function () {}.constructor // Retorna "function Function(){ [native code] }"
Você pode verificar constructor
Para determinar se um objeto é um array (contém a palavra "Array"):
Exemplo
function isArray(myArray) { return myArray.constructor.toString().indexOf("Array") > -1;
Ou de forma mais simples, você pode verificar se o objeto é uma função de array:
Exemplo
function isArray(myArray) { return myArray.constructor === Array;
Você pode verificar constructor
Para determinar se um objeto é uma data (contém a palavra "Date"):
Exemplo
function isDate(myDate) { return myDate.constructor.toString().indexOf("Date") > -1;
Ou de forma mais simples, você pode verificar se o objeto é uma função de data:
Exemplo
function isDate(myDate) { return myDate.constructor === Date;
Conversão de Tipos JavaScript
As variáveis JavaScript podem ser convertidas em novas variáveis e em outro tipo de dados:
- Usando funções JavaScript
- Através do JavaScript em siAutomáticaConversão
Converte valores numéricos em strings
Método global String()
Converte números em strings.
Isso pode ser usado para qualquer tipo de número, texto, variável ou expressão:
Exemplo
String(x) // Retorna uma string a partir da variável numérica x String(123) // Retorna uma string a partir do texto numérico 123 String(100 + 23) // Retorna uma string a partir do número em uma expressão
Métodos numéricos toString()
Da mesma forma.
Exemplo
x.toString() (123).toString() (100 + 23).toString()
EmMétodos numéricosNeste capítulo, você aprenderá mais métodos que podem ser usados para converter números em strings:
Método | Descrição |
---|---|
toExponential() | Retorna uma string, arredondando o número e escrevendo com um sistema de contagem exponencial. |
toFixed() | Retorna uma string, arredondando o número e escrevendo com uma quantidade de dígitos decimais específica. |
toPrecision() | Retorna uma string, escrevendo o número com a comprimento especificado. |
Converter booleano em string
Método global String()
Pode converter booleanos em strings.
String(false) // retorna "false" String(true) // retorna "true"
Métodos booleanos toString()
Da mesma forma.
false.toString() // retorna "false" true.toString() // retorna "true"
Converter data em string
Método global String()
Pode converter datas em strings.
String(Date())
Métodos de data toString()
Da mesma forma.
Exemplo
Date().toString()
EmMétodos de dataNesta seção, você encontrará mais métodos disponíveis para converter datas em strings:
Método | Descrição |
---|---|
getDate() | Obter dia contado numericamente (1-31) |
getDay() | ou com contagem numérica (0-6) da semana |
getFullYear() | Obter ano de quatro dígitos (yyyy) |
getHours() | Obter hora (0-23) |
getMilliseconds() | Obter milissegundo (0-999) |
getMinutes() | Obter minuto (0-59) |
getMonth() | Obter mês (0-11) |
getSeconds() | Obter segundo (0-59) |
getTime() | Obter tempo (milissegundos desde 1 de janeiro de 1970) |
Converter string em valor numérico
Método global Number()
Pode converter strings em números.
String contendo números (por exemplo, "3.14") convertida em número (por exemplo, 3.14).
String vazia convertida em 0。
Outras strings serão convertidas em NaN
(Não é um número,não é um número)。
Number("3.14") // retorna 3.14 Number(" ") // retorna 0 Number("") // retorna 0 Number("99 88") // retorna NaN
EmMétodos numéricosNesta seção, você encontrará mais métodos disponíveis para converter strings em números:
Método | Descrição |
---|---|
parseFloat() | Análise de string e retorno de número de ponto flutuante. |
parseInt() | Análise de string e retorno de inteiro. |
Operador unário +
Unário +
OperadorPode ser usado para converter variáveis em números:
Exemplo
var y = "5"; // y é uma string var x = + y; // x é um número
Se não puder converter a variável, ainda se tornará um número, mas o valor será NaN
(Não é um número):
Exemplo
var y = "Bill"; // y é uma string var x = + y; // x é um número (NaN)
Converter booleano para número
Método global Number()
Também pode converter booleanos para números.
Number(false) // retorna 0 Number(true) // retorna 1
Converter data para número
Método global Number()
Pode ser usado para converter uma data para um número.
d = new Date(); Number(d)
Métodos de data getTime()
Da mesma forma.
d = new Date(); d.getTime()
Conversão de tipo automática
Se o JavaScript tentar operar com um tipo de dados "errado", ele tentará converter esse valor para o tipo de dados "correto".
Os resultados não são sempre os que se espera:
5 + null // retorna 5 porque null é convertido para 0 "5" + null // retorna "5null" porque null é convertido para "null" "5" + 2 // retorna 52 porque 2 é convertido para "2" "5" - 2 // retorna 3 porque "5" é convertido para 5 "5" * "2" // retorna 10 porque "5" e "2" são convertidos para 5 e 2
Conversão de string automática
O JavaScript automaticamente chama a conversão de string da variável toString()
Função, quando você tenta "imprimir" um objeto ou variável:
document.getElementById("demo").innerHTML = myVar; // Se myVar = {name:"Fjohn"} // toString converte para "[object Object]" // Se myVar = [1,2,3,4] // toString converte para "1,2,3,4" // Se myVar = new Date() // toString converte para ""
Os números e booleanos também são convertidos, mas não notavelmente:
// Se myVar = 123 // toString converte para "123" // Se myVar = true // toString converte para "true" // Se myVar = false // toString converte para "false"
Tabela de Conversão de Tipos em JavaScript
A tabela a seguir lista os resultados da conversão de diferentes valores do JavaScript para números, strings e booleanos:
Valor Original | Conversão para Número | Conversão para String | Conversão para Lógico | Experimente |
---|---|---|---|---|
falso | 0 | "false" | falso | Experimente |
true | 1 | "true" | true | Experimente |
0 | 0 | "0" | falso | Experimente |
1 | 1 | "1" | true | Experimente |
"0" | 0 | "0" | true |
Experimente |
"000" | 0 | "000" | true |
Experimente |
"1" | 1 | "1" | true | Experimente |
NaN | NaN | "NaN" | falso | Experimente |
Infinity | Infinity | "Infinity" | true | Experimente |
-Infinity | -Infinity | "-Infinity" | true | Experimente |
"" | 0 |
"" | falso |
Experimente |
"20" | 20 | "20" | true | Experimente |
"vinte" | NaN | "vinte" | true | Experimente |
[ ] | 0 |
"" | true | Experimente |
[20] | 20 |
"20" | true | Experimente |
[10,20] | NaN | "10,20" | true | Experimente |
["vinte"] | NaN | "vinte" | true | Experimente |
["dez","vinte"] | NaN | "dez, vinte" | true | Experimente |
function(){} | NaN | "function(){}" | true | Experimente |
{ } | NaN | "[object Object]" | true | Experimente |
null | 0 |
"null" | falso | Experimente |
undefined | NaN | "undefined" | falso | Experimente |
Os valores entre aspas indicam valores de string.
Valores vermelhosIndica valores que alguns programadores talvez não desejem.
- Página Anterior JS typeof
- Próxima Página Desestruturação JS