tutoriais mais recente desenvolvimento web
 

JavaScript tipo de conversão


Number() converte a um número, String() converte em uma String, Boolean() se converte em um valor booleano.


Tipos de dados JavaScript

Em JavaScript, existem 5 tipos de dados diferentes que podem conter valores:

  • string
  • number
  • boolean
  • object
  • function

Existem 3 tipos de objectos:

  • Object
  • Date
  • Array

E 2 tipos de dados que não podem conter valores:

  • null
  • undefined

O typeof operador

Você pode usar o typeof operador para encontrar o tipo de dados de uma variável JavaScript.

Exemplo

typeof "John"                 // Returns string
typeof 3.14                   // Returns number
typeof NaN                    // Returns number
typeof false                  // Returns boolean
typeof [1,2,3,4]              // Returns object
typeof {name:'John', age:34}  // Returns object
typeof new Date()             // Returns object
typeof function () {}         // Returns function
typeof myCar                  // Returns undefined (if myCar is not declared)
typeof null                   // Returns object
Tente você mesmo "

Favor observar:

  • O tipo de dados de NaN é o número
  • O tipo de dados de uma array é objeto
  • O tipo de dados de uma date é objeto
  • O tipo de dados null é objeto
  • O tipo de dados de um undefined variável é indefinido

Você não pode usar typeof para determinar se um objeto JavaScript é um array (ou uma data).


O tipo de dados de typeof

O typeof operador não é uma variável. É um operador. Operadores ( + - * / ) não têm qualquer tipo de dados.

Mas, o typeof operador sempre retorna um string contendo o tipo do operando.


O constructor Propriedade

O constructor propriedade retorna a função de construtor de todas as variáveis de JavaScript.

Exemplo

"John".constructor                 // Returns function String()  { [native code] }
(3.14).constructor                 // Returns function Number()  { [native code] }
false.constructor                  // Returns function Boolean() { [native code] }
[1,2,3,4].constructor              // Returns function Array()   { [native code] }
{name:'John', age:34}.constructor  // Returns function Object()  { [native code] }
new Date().constructor             // Returns function Date()    { [native code] }
function () {}.constructor         // Returns function Function(){ [native code] }
Tente você mesmo "

Você pode verificar a propriedade construtor para descobrir se um objeto é uma Array (contém a palavra "Array" ):

Exemplo

function isArray(myArray) {
    return myArray.constructor.toString().indexOf("Array") > -1;
}
Tente você mesmo "

Você pode verificar a propriedade construtor para descobrir se um objeto é um Data (contém a palavra "Date" ):

Exemplo

function isDate(myDate) {
    return myDate.constructor.toString().indexOf("Date") > -1;
}
Tente você mesmo "

JavaScript Conversão de tipo

JavaScript variáveis ​​pode ser convertido para uma nova variável e um outro tipo de dados:

  • Através da utilização de uma função JavaScript
  • Automaticamente, por si só JavaScript

Convertendo números para strings

O método global String() pode converter números para strings.

Ele pode ser usado em qualquer tipo de números, literais, variáveis, ou expressões:

Exemplo

String(x)         // returns a string from a number variable x
String(123)       // returns a string from a number literal 123
String(100 + 23)  // returns a string from a number from an expression
Tente você mesmo "

O método Número toString() faz o mesmo.

Exemplo

x.toString()
(123).toString()
(100 + 23).toString()
Tente você mesmo "

No capítulo Métodos número , você vai encontrar mais métodos que podem ser utilizados para converter números para strings:

Método Descrição
toExponential() Retorna uma cadeia, com um número arredondado e escrito usando a notação exponencial.
toFixed() Retorna uma cadeia, com um número arredondado e escrito com um número especificado de casas decimais.
toPrecision() Retorna uma cadeia, com um número escrito com um comprimento especificado

Convertendo Booleanos para Cordas

O método global String() pode converter booleans para strings.

String(false)        // returns "false"
String(true)         // returns "true"

O método booleano toString() faz o mesmo.

false.toString()     // returns "false"
true.toString()      // returns "true"

Converter datas para Cordas

O método global String() pode converter datas para strings.

String(Date())      // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

O método Data toString() faz o mesmo.

Exemplo

Date().toString()   // returns Thu Jul 17 2014 15:38:19 GMT+0200 (W. Europe Daylight Time)

No capítulo métodos de data , você vai encontrar mais métodos que podem ser utilizados para converter datas para strings:

Método Descrição
getDate() Obter o dia como um número (1-31)
getDay() Obter o dia da semana um número (0-6)
getFullYear() Obter o ano com quatro dígitos (aaaa)
getHours() Obter a hora (0-23)
getMilliseconds() Obter os milissegundos (0-999)
getMinutes() Obter os minutos (0-59)
getMonth() Obter o mês (0-11)
getSeconds() Obter os segundos (0-59)
getTime() Obter o tempo (milissegundos desde 1 de Janeiro de 1970)

Conversão de strings em números

O método global Number() pode converter seqüências para números.

Strings contendo números (como "3.14" ) converter em números (como 3,14).

cadeias vazias converter a 0.

Qualquer outra coisa que se converte em NaN (não um número).

Number("3.14")    // returns 3.14
Number(" ")       // returns 0
Number("")        // returns 0
Number("99 88")   // returns NaN

No capítulo Métodos número , você vai encontrar mais métodos que podem ser utilizados para converter seqüências para números:

Método Descrição
parseFloat() Analisa uma cadeia e retorna um número de ponto flutuante
parseInt() Analisa uma cadeia e retorna um inteiro

O Unário + Operador

O unária + operador pode ser usada para converter uma variável de um número:

Exemplo

var y = "5";      // y is a string
var x = + y;      // x is a number
Tente você mesmo "

Se a variável não pode ser convertido, ainda irá tornar-se um número, mas com o valor NaN (Não é um número):

Exemplo

var y = "John";   // y is a string
var x = + y;      // x is a number (NaN)
Tente você mesmo "

Convertendo Booleanos para Números

O método global Number() também pode converter booleans aos números.

Number(false)     // returns 0
Number(true)      // returns 1

Converter datas para Números

O método global Número () pode ser usado para converter as datas para números.

d = new Date();
Number(d)          // returns 1404568027739

O método data getTime() faz o mesmo.

d = new Date();
d.getTime()        // returns 1404568027739

Conversão automática Tipo

Quando JavaScript tenta operar em um tipo de dados "errado", ele tentará converter o valor para um tipo de "direito".

O resultado nem sempre é o que você espera:

5 + null    // returns 5         because null is converted to 0
"5" + null  // returns "5null"   because null is converted to "null"
"5" + 2     // returns 52        because 2 is converted to "2"
"5" - 2     // returns 3         because "5" is converted to 5
"5" * "2"   // returns 10        because "5" and "2" are converted to 5 and 2
Tente você mesmo "

Conversão automática de Cordas

JavaScript chama automaticamente a variável toString() função quando você tenta "output" um objeto ou uma variável:

document.getElementById("demo").innerHTML = myVar;

// if myVar = {name:"Fjohn"}  // toString converts to "[object Object]"
// if myVar = [1,2,3,4]       // toString converts to "1,2,3,4"
// if myVar = new Date()      // toString converts to "Fri Jul 18 2014 09:08:55 GMT+0200"

Números e booleans também são convertidos, mas isso não é muito visível:

// if myVar = 123             // toString converts to "123"
// if myVar = true            // toString converts to "true"
// if myVar = false           // toString converts to "false"

Tabela JavaScript Conversão de tipo

Esta tabela mostra o resultado da conversão de diferentes valores JavaScript para Number, String e Boolean:

Original
Valor
Convertido
para o número
Convertido
para sequenciar
Convertido
para booleana
Tente
false0"false"false Tente "
true1"true"true Tente "
00"0"false Tente "
11"1"true Tente "
"0"0"0"true Tente "
"1"1"1"true Tente "
NaNNaN"NaN"false Tente "
InfinityInfinity"Infinity"true Tente "
-Infinity-Infinity"-Infinity"true Tente "
""0""false Tente "
"20"20"20"true Tente "
"twenty"NaN"twenty"true Tente "
[ ]0""true Tente "
[20]20"20"true Tente "
[10,20]NaN"10,20"true Tente "
["twenty"]NaN"twenty"true Tente "
["ten","twenty"]NaN"ten,twenty"true Tente "
function(){}NaN"function(){}"true Tente "
{ }NaN"[object Object]"true Tente "
null0"null"false Tente "
undefinedNaN"undefined"false Tente "

Valores entre aspas indicam valores de cadeia.

Valores de vermelho indicam valores (alguns) programadores não pode esperar.