Controle de tipos
É importante conhecermos o tipo das variáveis para trabalhar sem erros. Veremos como obtê-lo com Jav
Vimos para determinados operadores que é importante o tipo de dados que estão manejando, visto que se os dados são de um tipo irão realizar operações distintas que se são de outro.
Assim, quando utilizávamos o operador +, se se tratava denúmeros, os somava, mas se se tratava de cadeias de caracteres, os conciliava. Vemos então, que o tipo dos dados que estamos utilizando sim que importa e que teremos que estar pendentes a este detalhe se quisermos que nossas operações se realizem tal como esperávamos.
Para comprovar o tipo de um dado se pode utilizar outro operador que está disponível a partir de javascript 1.1, o operador typeof, que devolve uma cadeia de texto que descreve o tipo do operador que estamos comprovando.
var boleano = true
var numerico = 22
var numerico_flutuante = 13.56
var texto = "meu texto"
var data = new Date()
document.write("<br>O tipo de boleano é: " + typeof boleano)
document.write("<br>O tipo de numerico é: " + typeof numerico)
document.write("<br>O tipo de numerico_flutuante é: " + typeof numerico_flutuante)
document.write("<br>O tipo de texto é: " + typeof texto)
document.write("<br>O tipo de data é: " + typeof data)
Este script dará como resultado o seguinte:
O tipo de boleano é: boolean
O tipo de numerico é: number
O tipo de numerico_flutuante é: number
O tipo de texto é: string
O tipo de data é: object
Neste exemplo podemos ver que se imprime na página os distintos tipos das variáveis. Estes podem ser os seguintes:
boolean, para os dados boleanos. (True ou false)
number, para os numéricos.
string, para as cadeias de caracteres.
object, para os objetos.
Queremos destacar apenas mais dois detalhes:
1) Os números, já tendo ou não parte decimal, são sempre do tipo de dados numéricos.
2) Uma das variáveis é um pouco mais complexa, é a variável data que é um objeto da classe Date(), que se utiliza para o manejo de datas nos scripts. Mais adiante a veremos, assim como os objetos.