Tipos de dados no JavaScript
Introdução aos Tipos de Dados
O JavaScript é uma linguagem de programação dinâmica que suporta diferentes tipos de dados para armazenar e manipular informações. Esses tipos de dados são essenciais para o desenvolvimento de aplicações web e permitem representar números, textos, coleções e muito mais.
Por exemplo, veja como diferentes tipos de dados podem ser usados em JavaScript:
// Número
let idade = 25
// Texto
let nome = "Arthur"
// Sim/não
let isProgramador = true
Nota: Os tipos de dados também podem ser chamados de estruturas de dados, pois definem como as informações são organizadas e manipuladas no programa.
Tipos Primitivos
Os tipos primitivos são os tipos de dados mais básicos em JavaScript. Eles representam valores simples, como números, textos e valores sim/não.
O JavaScript possui dois tipos principais de dados: primitivos e objetos.
Tipo | Descrição |
---|---|
number | Representa números inteiros ou de ponto flutuante, como 10 , -5 ou 3.14 . |
string | Representa cadeias de caracteres (textos), como "Olá, Mundo!" . |
boolean | Representa valores booleanos, como true ou false . |
undefined | Representa uma variável que foi declarada, mas não possui valor atribuído. |
null | Representa a ausência intencional de valor. |
bigint | Representa números inteiros muito grandes, como 1234567890123456789012345n . |
symbol | Representa valores únicos e imutáveis, frequentemente usados como identificadores. |
Criando valores true/false com boolean
O tipo boolean
tem apenas dois valores possíveis: true
(verdadeiro) ou false
(falso). Ele é usado para expressar condições lógicas.
Exemplo 1:
let estaChovendo = true
let possuiHabilitacao = false
No JavaScript, é comum usarmos expressões que resultam em valores booleanos. Isso ajuda a desenvolver a lógica do programa.
Exemplo 2:
let idade = 22
let maiorDeIdade = (idade >= 18)
console.log(maiorDeIdade) // Imprime: true
Neste exemplo, declaramos a variável idade
com o valor 22
. Depois, declaramos a variável maiorDeIdade
, que recebe o valor true
como resultado da comparação idade >= 18
. Por fim, usamos o método console.log()
para imprimir o valor de maiorDeIdade
.
Criando valores nulos com null
O tipo null
representa a ausência intencional de valor. É usado para indicar que uma variável existe, mas não possui um valor válido ou está vazia de propósito.
Exemplo:
let idade = null
Neste exemplo, declaramos a variável idade
como null
, indicando que ela não possui um valor válido ou preenchido.
Criando variáveis sem valor definido com undefined
O tipo undefined
representa uma variável declarada sem valor definido. É usado quando o valor de uma variável ainda não foi definido.
Toda variável que é criada sem uma atribuição recebe o valor undefined
.
Exemplo 1 - Variável declarada:
let idade
console.log(idade) // Imprime: undefined
Além disso, qualquer variável que nunca tenha sido declarada também retorna o valor undefined
.
Exemplo 2 - Variável não declarada:
console.log(typeof(naoExiste)) // Imprime: 'undefined'
Neste exemplo, usamos a função typeof()
para identificar o tipo da variável e o método console.log()
para imprimir o tipo.
Assim, o tipo undefined
é usado para representar variáveis cujo valor não foi atribuído. Por outro lado, o tipo null
representa um valor já atribuído, mas que é intencionalmente inválido.
Criando números inteiros do tipo bigint
O tipo bigint
representa números inteiros muito grandes que não podem ser representados com precisão pelo tipo number
. Os números desse tipo devem terminar com n
para indicar que são bigint
.
let numeroGrande = 10000000000000000000000000n
Neste exemplo, declaramos a variável numeroGrande
com um valor numérico contendo 25 zeros. Isso é o mesmo que 1025 (dez elevado a 25). Por essa razão, é mais apropriado usar o tipo bigint
para aumentar a precisão do código.
A diferença entre number
e bigint
é a capacidade de representar números inteiros muito grandes com precisão. Se precisamos lidar com números inteiros extremamente grandes, bigint
é a escolha adequada. Caso contrário, number
é suficiente.
Criando objetos literais com {}
Além dos tipos primitivos, temos também os objetos. Um objeto é uma estrutura de dados com chave-valor, que pode conter diferentes tipos de propriedades.
Exemplo:
let pessoa = {
nome: 'João',
idade: 45,
filhos: true
}
Neste exemplo, declaramos a variável pessoa
e atribuímos a ela um objeto usando chaves {}
. Dentro das chaves, podemos atribuir ao objeto diversas propriedades, cada uma com sua chave e valor.
Objetos especiais
Os objetos no JavaScript podem se especializar para formar estruturas de dados mais avançadas. Alguns exemplos incluem:
- Array: Lista de valores.
- Função: Bloco de código reutilizável.
- Date: Objeto para manipulação de datas.
- Expressão regular: Identificador de padrões em textos.
Exemplos:
// Declaração de uma lista (array)
let frutas = ['banana', 'maçã', 'abacaxi']
// Declaração de uma função
function saudacoes() {
console.log('Olá!')
}
// Declaração de um objeto de data
let hoje = new Date()
// Declaração de uma expressão regular
let usuario = /^[a-z0-9]+$/i
Por serem bastante dinâmicos e flexíveis, os objetos podem assumir inúmeras formas, não se limitando aos exemplos apresentados. Abordaremos posteriormente cada um desses tipos em detalhes.