Tipos de Valores Javascript

Javascript
Tempo de leitura: 3 minutos

Tipos de Valores Javascript: O JavaScript é uma linguagem de tipagem dinâmica e fraca. Isso significa que você não declara o tipo da variável, e o tipo de uma variável pode mudar durante a execução do programa. No entanto, todo valor em JS possui um tipo estrito.

Entender o sistema de tipos é fundamental, pois define como os dados são armazenados, manipulados e comparados. Dividimos os tipos em duas grandes categorias: Primitivos (Imutáveis) e Objetos (Mutáveis).

1. Tipos Primitivos (Imutáveis)

Tipos primitivos representam valores únicos e são imutáveis (uma vez criados, seu valor não pode ser alterado, apenas a variável pode ser reatribuída para apontar para um novo valor).

TipoDescriçãoExemplo
NumberNúmeros inteiros e de ponto flutuante.42, 3.14, -10
StringSequência de caracteres (texto)."Olá, Mundo!", 'JavaScript'
BooleanValores lógicos: apenas true ou false.true
nullRepresenta a ausência intencional de qualquer valor.let resultado = null;
undefinedIndica que uma variável foi declarada, mas não foi atribuída (valor padrão).let variavel;
SymbolValor único e imutável, usado para chaves de objeto. (Introduzido no ES6).Symbol('chave unica')
BigIntRepresenta números inteiros de precisão arbitrária (além do limite do Number).1234567890123456789n

Imutabilidade Explicada: Se você tiver let nome = "Ana"; e fizer nome = nome + " Silva";, você não alterou a string original "Ana". Você criou uma nova string "Ana Silva" e fez a variável nome apontar para ela.

2. Tipo Objeto (Mutável)

O Object é o único tipo estrutural em JavaScript. Objetos são coleções de pares chave-valor e são mutáveis (suas propriedades podem ser alteradas sem mudar a referência do objeto).

Subtipos de Objeto

  1. Objetos Literais (Simples): Usados para agrupar dados e funcionalidades.

    JavaScript

    let livro = { titulo: "O Poder do CSS", autor: "Thiago", ano: 2024 }; // Mutabilidade: Podemos mudar a propriedade diretamente livro.ano = 2025;
  2. Arrays: Objetos especializados para armazenar coleções ordenadas de dados.

    JavaScript

    let cores = ["azul", "verde", "amarelo"];
    console.log(cores[0]); // azul
  3. Funções: São objetos de “primeira classe”, pois podem ser armazenadas em variáveis, passadas como argumentos e retornadas por outras funções.
  4. Date, RegExp, Map, Set: Objetos utilitários criados pelo JavaScript.

3. Tipagem Dinâmica e Coerção

A tipagem dinâmica é a característica que permite que o tipo de valor de uma variável mude durante a execução:

JavaScript

let valor = 10;          // Tipo: Number
valor = "Dez";           // Tipo agora é String
valor = true;            // Tipo agora é Boolean

💡 Coerção de Tipos (Type Coercion)

O JavaScript costuma converter automaticamente os tipos de dados para que as operações funcionem. Isso é conhecido como coerção e é uma fonte comum de bugs.

OperadorExemploResultadoTipo da SaídaExplicação
+ (Concatenação)"10" + 5"105"StringO JS coerceu 5 para String.
+ (Adição)"10" - 55NumberO JS coerceu "10" para Number.

Para evitar coerção inesperada, use os operadores de igualdade estrita (===), que comparam valor e tipo sem tentar converter.

JavaScript

console.log(10 == "10");  // true (Coerção: JS converte "10" para 10)
console.log(10 === "10"); // false (Estrito: Tipos são diferentes)

✅ Conclusão Tipos de Valores Javascript

Dominar os tipos de valores em JavaScript vai além de saber seus nomes. É entender a distinção crucial entre imutabilidade (Primitivos) e mutabilidade (Objetos), e estar atento à tipagem dinâmica e aos perigos da coerção. Esse conhecimento é a base para escrever lógica previsível e livre de bugs.

Toda jornada tem um início, e o início para se tornar um desenvolvedor web é dominar as seguintes tecnologias, que você encontra aqui mesmo:

HTML
HTML
CSS
CSS
Javascript
JavaScript

E se você gosta do nosso conteúdo, não deixe de contribuir adquirindo os serviços e produtos dos nossos apoiadores e empresas que somos associados:

Hospedagem Hostinger
Ofertas Amazon
Amazon Prime
Author: Thiago Rossi
Com mais de 20 anos de jornada na tecnologia, minha trajetória evoluiu do ensino técnico à arquitetura de sistemas complexos. Hoje, foco minha expertise no desenvolvimento de soluções de Inteligência Artificial nativa e análise de dados públicos, utilizando o ecossistema PHP para transformar dados brutos em transparência e eficiência. Como autor e desenvolvedor, acredito na democratização do conhecimento. Essa visão resultou em uma biblioteca de mais de 530 artigos gratuitos, cobrindo desde a base do WebDev e Infraestrutura até os bastidores da indústria de Jogos e IA. No universo de Game Design, sou autor do livro "GDD – O Guia Definitivo" e documento ativamente meus processos através de DevLogs, unindo rigor técnico e criatividade em projetos desenvolvidos com GDevelop 5. Meu compromisso é conectar engenharia de ponta com as reais oportunidades do mercado de tecnologia.