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).
| Tipo | Descrição | Exemplo |
Number | Números inteiros e de ponto flutuante. | 42, 3.14, -10 |
String | Sequência de caracteres (texto). | "Olá, Mundo!", 'JavaScript' |
Boolean | Valores lógicos: apenas true ou false. | true |
null | Representa a ausência intencional de qualquer valor. | let resultado = null; |
undefined | Indica que uma variável foi declarada, mas não foi atribuída (valor padrão). | let variavel; |
Symbol | Valor único e imutável, usado para chaves de objeto. (Introduzido no ES6). | Symbol('chave unica') |
BigInt | Representa números inteiros de precisão arbitrária (além do limite do Number). | 1234567890123456789n |
Imutabilidade Explicada: Se você tiver
let nome = "Ana";e fizernome = nome + " Silva";, você não alterou a string original"Ana". Você criou uma nova string"Ana Silva"e fez a variávelnomeapontar 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
- Objetos Literais (Simples): Usados para agrupar dados e funcionalidades.
JavaScriptlet livro = { titulo: "O Poder do CSS", autor: "Thiago", ano: 2024 }; // Mutabilidade: Podemos mudar a propriedade diretamente livro.ano = 2025; - Arrays: Objetos especializados para armazenar coleções ordenadas de dados.
JavaScriptlet cores = ["azul", "verde", "amarelo"];console.log(cores[0]); // azul - Funções: São objetos de “primeira classe”, pois podem ser armazenadas em variáveis, passadas como argumentos e retornadas por outras funções.
- 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.
| Operador | Exemplo | Resultado | Tipo da Saída | Explicação |
+ (Concatenação) | "10" + 5 | "105" | String | O JS coerceu 5 para String. |
+ (Adição) | "10" - 5 | 5 | Number | O 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:
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:












