Desenvolvedor de Software e Especialista em Tecnologia da Informação

Tipos de Dados em JavaScript: O guia definitivo para iniciantes entenderem String, Number, Boolean, Null e Undefined

Se você está começando seus estudos em JavaScript, entender os tipos de dados é um dos passos mais importantes para aprender programação de verdade. Cada valor que você cria dentro do seu código possui um tipo específico, e compreender como o JavaScript interpreta esses valores evita diversos erros que aparecem no dia a dia de qualquer desenvolvedor. Neste guia completo, você vai aprender tudo sobre os tipos de dados em JavaScript, como identificá-los e como evitar os erros mais comuns.


Tipos de Dados em JavaScript: String, Number, Boolean, Null e Undefined

Nesta aula você aprenderá como funcionam os principais str tipos de dados em JavaScript, incluindo String, Number, Boolean, Undefined e Null. Também veremos como utilizar o operador typeof para descobrir exatamente qual tipo está armazenado dentro de uma variável.

Tipos de Dados em JavaScript: O guia definitivo para iniciantes entenderem String, Number, Boolean, Null e Undefined

Tipos de Dados JavaScript JavaScript String JavaScript Number JavaScript Boolean JavaScript Null JavaScript Typeof JavaScript para Iniciantes Aprender JavaScript Programação RogerioPontesTI

"Cada valor que você declara, na verdade atribui a uma variável, ela é um tipo de dado e o JavaScript vai tratar esses valores conforme o tipo ali que você tá informando. Entender os tipos de dados é entender como o JavaScript pensa."


🔍 O que são tipos de dados em JavaScript?

Os tipos de dados são categorias que definem o tipo de informação que uma variável pode armazenar. O JavaScript é uma linguagem de tipagem dinâmica, o que significa que você não precisa declarar o tipo da variável — o próprio JavaScript identifica automaticamente o tipo do valor armazenado.

Os tipos de dados em JavaScript são divididos em duas categorias principais:

  • Tipos PrimitivosString, Number, Boolean, Undefined, Null, Symbol e BigInt
  • Tipos de ReferênciaObject, Array, Function, etc.

📦 Tipos Primitivos em JavaScript

📝 String
Representa texto. Pode ser declarada com aspas simples (' '), aspas duplas (" ") ou template literals (` `).

let nome = "Rogerio";  // String com aspas duplas
let mensagem = 'Olá, mundo!';  // String com aspas simples
let template = `Meu nome é ${nome}`;  // Template literal
            
🔢 Number
Representa números, tanto inteiros quanto decimais (flutuantes). O JavaScript não faz distinção entre inteiros e decimais — ambos são do tipo Number.

let idade = 48;  // Número inteiro
let preco = 99.90;  // Número decimal
let negativo = -10;  // Número negativo
            
⚖️ Boolean
Representa verdadeiro (true) ou falso (false). É amplamente utilizado em estruturas de decisão e validações.

let estaLogado = true;
let maiorDeIdade = false;
let teste = 10 > 5;  // true
            
❓ Undefined
Representa uma variável que foi declarada, mas não recebeu um valor. É o valor padrão para variáveis não inicializadas.

let indefinido;  // undefined
console.log(indefinido);  // undefined
            
🚫 Null
Representa a ausência intencional de um valor. É usado para indicar que uma variável está vazia de forma proposital.

let nulos = null;
console.log(nulos);  // null
            

🔍 O operador typeof em JavaScript

O operador typeof é usado para descobrir o tipo de uma variável ou valor. É uma ferramenta essencial para programadores, especialmente para iniciantes, pois ajuda a entender o que está sendo armazenado em uma variável.

TYPEOF EM AÇÃO

// Declarando variáveis de diferentes tipos
let material = "Lápis";  // String
let numero = 48;  // Number
let teste = false;  // Boolean
let indefinido;  // Undefined
let nulos = null;  // Null

// Verificando os tipos
console.log(typeof material);  // "string"
console.log(typeof numero);    // "number"
console.log(typeof teste);     // "boolean"
console.log(typeof indefinido); // "undefined"
console.log(typeof nulos);     // "object" (comportamento histórico)
        
⚠️ Por que typeof null retorna "object"?

Esse é um comportamento histórico do JavaScript que foi mantido por questões de compatibilidade. Na primeira versão da linguagem, o valor null foi representado como um ponteiro para "nenhum objeto", e essa característica permaneceu.

Isso significa que typeof null retorna "object", mesmo que null não seja um objeto de verdade. É um dos famosos "pecados" da linguagem que todo programador JavaScript precisa conhecer.


⚠️ O erro mais comum: String + Number

Um dos erros mais comuns entre programadores iniciantes é somar um Number com uma String. O JavaScript, ao encontrar uma String em uma operação de soma, converte o Number para String e realiza uma concatenação.

CONCATENAÇÃO INESPERADA

// Variáveis
let numero = 48;
let numeroString = "2";

// Soma com número e string
console.log(numero + numeroString);  // "482" (concatenação)

// Ordem alterada
console.log(numeroString + numero);  // "248" (concatenação)
        
📖 Por que isso acontece?

O JavaScript utiliza a coerção de tipos para tentar resolver operações entre tipos diferentes. Quando encontra uma String, ele prefere concatenar a somar.

  • 48 + "2" → O número 48 é convertido para String"482"
  • "2" + 48 → A string "2" permanece como String"248"
COMO CORRIGIR

// Formas de converter String para Number

// 1. Usando Number()
let resultado1 = Number("2") + 48;  // 50

// 2. Usando parseInt()
let resultado2 = parseInt("2") + 48;  // 50

// 3. Usando parseFloat()
let resultado3 = parseFloat("2.5") + 48;  // 50.5

// 4. Usando o operador unário +
let resultado4 = +"2" + 48;  // 50
        

🔄 Undefined vs Null: Qual a diferença?

Undefined e Null são dois tipos de dados que representam a ausência de valor, mas têm significados diferentes:

Undefined
  • Significado: A variável existe, mas não tem valor
  • Quando ocorre: Você declarou a variável mas não a inicializou
  • Intenção: Não intencional — geralmente indica que algo está faltando
  • Tipo: "undefined"
🚫 Null
  • Significado: A variável tem um valor vazio de forma proposital
  • Quando ocorre: Você atribuiu null à variável
  • Intenção: Intencional — você quis dizer que não há valor
  • Tipo: "object" (comportamento histórico)
COMPARANDO UNDEFINED E NULL

// Undefined - variável declarada sem valor
let indefinido;
console.log(indefinido);  // undefined
console.log(typeof indefinido);  // "undefined"

// Null - valor vazio intencional
let nulos = null;
console.log(nulos);  // null
console.log(typeof nulos);  // "object"

// Comparação
console.log(indefinido == nulos);   // true (igualdade ampla)
console.log(indefinido === nulos);  // false (igualdade estrita)
        

📋 Boas práticas com tipos de dados

1️⃣ Use === para comparações

Use igualdade estrita (===) para evitar coerção de tipos inesperada.

2️⃣ Converta tipos explicitamente

Use Number(), String() ou Boolean() para conversões claras.

3️⃣ Use typeof para debug

Use typeof para verificar o tipo de uma variável durante o desenvolvimento.

4️⃣ Evite coerção implícita

Não confie na coerção automática do JavaScript. Seja explícito nas conversões.


⏱️ Capítulos do vídeo

  • 00:00 — O que são tipos de dados no JavaScript?
  • 00:13 — Conhecendo String, Number, Boolean, Undefined e Null
  • 00:39 — Quando utilizar Null na programação
  • 00:46 — Como funciona o operador typeof
  • 00:53 — Declarando variáveis com let
  • 01:38 — Descobrindo o tipo de cada variável
  • 02:01 — Por que typeof null retorna object?
  • 02:14String + Number: por que o JavaScript concatena?
  • 03:00 — Conclusão

🎯 Conclusão

Entender os tipos de dados em JavaScript é fundamental para qualquer programador, seja você um iniciante ou um profissional experiente. Dominar String, Number, Boolean, Undefined e Null é essencial para escrever código correto e evitar erros comuns.

Neste artigo, você aprendeu:

  • ✅ O que são tipos de dados em JavaScript
  • ✅ Como funciona uma String
  • ✅ Como funciona um Number
  • ✅ O que é Boolean
  • ✅ A diferença entre Undefined e Null
  • ✅ Como utilizar typeof para identificar tipos
  • ✅ Por que typeof null retorna "object"
  • ✅ Por que "48" + 2 pode gerar um resultado inesperado
  • ✅ Como evitar erros de concatenação
  • Boas práticas para trabalhar com tipos de dados

💡 Lembre-se: O JavaScript é uma linguagem de tipagem dinâmica, mas isso não significa que você deve ignorar os tipos. Entender como os dados são tratados é o que separa um programador iniciante de um profissional.


🤔 O que você achou?

💬 Quer aprender JavaScript do ZERO? Comece agora a escrever seu primeiro código e seus fundamentos!


❓ FAQ: Perguntas Frequentes sobre Tipos de Dados em JavaScript

São categorias que representam como o JavaScript armazena e interpreta informações.

String, Number, Boolean, Undefined, Null, Object, Symbol e BigInt.

Ele identifica o tipo de uma variável durante a execução do código.

Undefined indica ausência de valor atribuído. Null representa ausência intencional de valor.

Por causa de uma decisão histórica da linguagem que foi mantida por compatibilidade.

Sim. O JavaScript utiliza o mesmo tipo Number para ambos.

Sim. Aspas simples, duplas ou template literals.

Porque existe concatenação entre texto e número. O JavaScript converte o número para String.

Utilizando Number(), parseInt() ou parseFloat().

Muito. É um dos fundamentos mais importantes para dominar JavaScript.

É o processo automático de conversão de um tipo de dado para outro, realizado pelo JavaScript em operações que envolvem tipos diferentes.

Use null quando você quiser intencionalmente indicar que uma variável está vazia. Use undefined para indicar que uma variável ainda não foi inicializada.

🎬 Assista ao Vídeos completo sobre Refatoração

O vídeo foi feito em Javascript mais o conceito pode ser utilizado em qualquer outra linguagem de programação..

🎬 Assista ao Vídeos completo sobre Refatoração


🔗 Conecte-se Comigo


💬 Qual tipo de dado mais confundiu você quando começou a estudar JavaScript? Foi String? Number? Null? Undefined? Ou aquele famoso resultado inesperado ao somar texto com número? Escreva nos comentários! 👇

#JavaScript #TiposDeDados #Programação #ProgramaçãoParaIniciantes #CursoJavaScript #JavaScriptDoZero #Frontend #DesenvolvimentoWeb #Typeof #String #Number #Boolean #Null #Undefined #Dev #RogerioPontesTI