Tipos de dados no JavaScript

Introdução ao JavaScript / Tutorial 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.

TipoDescrição
numberRepresenta números inteiros ou de ponto flutuante, como 10, -5 ou 3.14.
stringRepresenta cadeias de caracteres (textos), como "Olá, Mundo!".
booleanRepresenta valores booleanos, como true ou false.
undefinedRepresenta uma variável que foi declarada, mas não possui valor atribuído.
nullRepresenta a ausência intencional de valor.
bigintRepresenta números inteiros muito grandes, como 1234567890123456789012345n.
symbolRepresenta 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.