O objeto Date existe desde os primórdios do JavaScript.
Ele parece simples, mas é responsável por uma quantidade enorme de bugs em aplicações reais.
Antes de aprender alternativas modernas, precisamos entender:
por que o Date é problemático.
🎯 Objetivo da aula
Ao final desta aula, você será capaz de:
- Entender as limitações do objeto
Date - Reconhecer bugs comuns envolvendo datas
- Identificar armadilhas com fusos horários
- Separar formatação de lógica de datas
- Compreender por que novas APIs surgiram
O objeto Date parece simples…
À primeira vista, tudo parece tranquilo:
const agora = new Date();
console.log(agora);
// Saída será algo como: Wed Jan 21 2026 14:00:00 GMT-0300
Mas essa simplicidade é enganosa.
Problema 1 — Meses começam em zero 🤯
const data = new Date(2026, 0, 21);
console.log(data);
// Saída será: 21 de janeiro de 2026
Aqui:
- Janeiro = 0
- Fevereiro = 1
- Dezembro = 11
Problema 2 — Mutabilidade silenciosa
O objeto Date é mutável.
const data = new Date();
data.setDate(data.getDate() + 1);
console.log(data);
// Saída será: data alterada
Se você passar esse objeto para outra função:
- ele pode ser alterado sem aviso
- bugs aparecem longe da origem
Problema 3 — Fuso horário implícito
Veja este código:
const data = new Date("2026-01-21");
console.log(data);
// Saída depende do fuso horário
Dependendo do fuso:
- a data pode virar dia 20
- ou dia 21
Problema 4 — Strings ambíguas
O Date aceita vários formatos de string:
new Date("01/02/2026"); // ❓ Isso é:
- 1 de fevereiro?
- 2 de janeiro?
Problema 5 — API confusa e extensa
O objeto Date tem:
- getDate
- getDay
- getMonth
- getFullYear
E todos retornam números diferentes com significados diferentes.
Problema 6 — Cálculos são perigosos
const inicio = new Date("2026-01-01");
const fim = new Date("2026-02-01");
const diferenca = fim - inicio;
console.log(diferenca);
// Saída será: milissegundos
Você recebe:
- milissegundos
- sem contexto
- sem semântica
Problema 7 — Mistura de responsabilidades
O Date tenta ser tudo ao mesmo tempo:
- data
- hora
- fuso
- formatação
Isso gera:
- API inchada
- pouca clareza
Tentativas de solução (parciais)
Ao longo dos anos, surgiram alternativas:
- moment.js (hoje descontinuado)
- date-fns
- luxon
Mas o JavaScript precisava de algo:
nativo, moderno e correto.
Resumo do problema
- API antiga
- mutável
- confusa
- dependente de fuso
- propensa a erros
Date. Resumo da aula para nunca mais esquecer
- O objeto
Dateé antigo e problemático - Meses começam em zero
- Datas são mutáveis
- Fusos causam bugs silenciosos
- Precisamos de uma alternativa moderna
Na próxima aula, vamos conhecer essa alternativa:
Introdução à Temporal API.
HARDWARE
Entendendo o seu computador
O que há dentro do meu computador?
Existem alguns componentes fundamentais presentes dentro do seu computador e é muito importante que você conheça um pouco sobre eles, seja para argumentar com algum vendedor durante a compra de um novo PC ou para identificar alguma atitude desleal de algum técnico que esteja te passando um orçamento para reparo. Na seção Raio-X aqui do Contém Bits você pode conhecer e entender mais detalhadamente sobre cada componente, ou também pode clicar abaixo no componente que deseja, para conhecê-lo melhor.
Você Sabia?
PDP-1
O primeiro computador a conseguir rodar o jogo Spacewar era o PDP-1, que custava 120 mil dólares e pertencia ao Massachusetts Institute of Technology. O jogo demorou 200 horas para ser desenvolvido, em 1962, e seu criador foi um cientista da computação chamado Steve Russel.
Tetris
Desde o seu lançamento, em 1985, o fantástico jogo Tetris vende pelo menos 70 milhões de unidades por ano em todo o mundo! Os dados são oficiais e fornecidos pela THQ, uma das distribuidoras do título.
Cuidados com o notebook
Utilizar seu notebook em camas, sofás ou qualquer superfície macia pode obstruir as entradas e saídas de ar, elevando a temperatura e provocando danos a diversos componentes. Utilize-o sempre sobre uma superfície rígida. Saiba mais aqui.
Mario em Donkey Kong
O personagem Mario surgiu pela primeira vez no mundo dos games em um jogo chamado Donkey Kong, lançado em 1981. Mario, que naquela época se chamava Jumpman, não era o personagem principal do jogo, mas ele se tornaria um dos mais famosos personagens do mundo dos games. Saiba mais.
Duck Hunt
Ao completar o nível 99 do jogo Duck Hunt, para Nintendo, o jogo retorna ao primeiro nível, mas um bug impede que se acerte os patos neste recomeço. Este é um exemplo do que é chamado no mundo dos games de "Kill Screen".










