Tipos de Dados Javascript: O JavaScript opera sob um sistema de tipagem dinâmica e fraca. Embora o tipo de uma variável possa mudar durante a execução, todo valor em JS pertence a uma categoria estrita.
Entender esse sistema é fundamental, pois ele define como os dados são armazenados, manipulados e, crucialmente, comparados. Dividimos os tipos em duas categorias principais: Primitivos (Imutáveis) e Objetos (Mutáveis).
1. Tipos Primitivos (Imutáveis)
Tipos primitivos representam valores únicos e são imutáveis. Ou seja, você não altera o valor primitivo; você reatribui a variável para apontar para um novo valor. O JavaScript possui sete tipos primitivos:
| Tipo | Descrição | Exemplo |
Number | Números inteiros e de ponto flutuante. | 42, 3.14 |
String | Sequência de caracteres (texto), delimitada por aspas. | "Olá, Mundo!" |
Boolean | Lógico: true ou false. | true |
null | Ausência intencional de qualquer valor (atribuído). | let resultado = null; |
undefined | Variável declarada, mas sem valor atribuído (padrão). | let variavel; |
Symbol | Valor único e imutável (ES6). Usado como identificador de propriedade. | Symbol('id') |
BigInt | Números inteiros maiores do que o limite seguro do Number. | 9007199254740991n |
2. Tipo Objeto (Mutável)
O Object é o único tipo estrutural. 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 na memória).
Subtipos de Objeto Cruciais
- Objetos Literais: Usados para agrupar dados.
JavaScriptlet carro = { marca: "Tesla", modelo: "X" }; // Mutabilidade: Podemos mudar a propriedade: carro.modelo = "Y"; - Arrays: Objetos especializados para armazenar coleções ordenadas de dados.
JavaScriptlet frutas = ["maçã", "banana"]; frutas.push("laranja"); // Adiciona um item (mutável) - Funções: São objetos de “primeira classe”, podendo ser passadas como argumentos e retornadas.
3. Tipagem Dinâmica e Coerção
A tipagem dinâmica é a característica que permite que o tipo de valor armazenado em uma variável mude durante a execução:
JavaScript
let valor = 10; // Tipo: Number
valor = "Dez"; // Tipo agora é String
🚨 O Risco da Coerção de Tipos (Type Coercion)
O JavaScript tenta automaticamente converter tipos de dados em operações, o que é chamado de coerção. Isso é uma fonte comum de bugs:
| Operação | Exemplo | Resultado | Tipo da Saída | Explicação |
+ (Adição) | "10" + 5 | "105" | String | O JS converteu 5 para String (Concatenação). |
- (Subtração) | "10" - 5 | 5 | Number | O JS converteu "10" para Number (Operação Matemática). |
Regra de Ouro: Igualdade Estrita (===)
Para evitar a coerção inesperada, use os operadores de igualdade estrita (===) e desigualdade estrita (!==). Eles comparam valor E tipo sem tentar converter.
JavaScript
console.log(10 == "10"); // true (Igualdade Fraca: JS converte "10" para 10)
console.log(10 === "10"); // false (Igualdade Estrita: Tipos são diferentes)
4. Diferença Crucial: Passagem por Valor vs. Referência
A forma como os valores são copiados é fundamental e depende do tipo:
- Primitivos: São copiados por Valor. Se você atribui
let b = a;,brecebe uma cópia do valor dea. Mudarbnão afetaa. - Objetos: São copiados por Referência. Se você atribui
let b = a;,beaapontam para o mesmo objeto na memória. Mudarbafetaa.
JavaScript
// Exemplo de Referência (Mutabilidade)
let objA = { valor: 20 };
let objB = objA; // Copia a referência
objB.valor = 20;
console.log(objA.valor); // Saída: 20 (Ambos referenciam o mesmo objeto)
✅ Conclusão Tipos de Dados Javascript
Dominar os tipos de valores em JavaScript é a base da gestão de dados. A distinção entre imutabilidade (Primitivos) e mutabilidade (Objetos), juntamente com o uso rigoroso da igualdade estrita (===), são práticas essenciais para escrever lógica previsível e livre de bugs em um ambiente de tipagem dinâmica.
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:












