Considere o seguinte trecho de código JavaScript, que éBexecutado em um navegador web: Assinale a alternativa correta a respeito.
AOs dados do objeto user são armazenados em um arquivo local do computador que executa o navegador, chamado C:\user.json.
BUm par chave/valor é armazenado no navegador, mas os dados são excluídos quando o navegador é fechado pelo usuário.
CUm cookie chamado user é armazenado no navegador, sendo enviado ao servidor nas próximas requisições ao website.
DUm par chave/valor é armazenado no navegador, sem data para expirar, mantendo-se armazenado mesmo após o fechamento do navegador.
EO objeto user é armazenado em um banco de dados no servidor web, sendo necessário realizar uma requisição HTTP para obter seu valor de volta.
Revelar gabarito e comentário▾
GabaritoD — Um par chave/valor é armazenado no navegador, sem data para expirar, mantendo-se armazenado mesmo após o fechamento do navegador.
Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.
localStorage: persistência no navegador
Gabarito: letra D. O código usa localStorage.setItem("user", JSON.stringify(user)), que armazena um par chave/valor no navegador, sem data de expiração, persistindo mesmo após o fechamento do navegador. É exatamente o que a alternativa D descreve.
O localStorage é uma API de armazenamento web (Web Storage API) que permite salvar dados no navegador do usuário, associados a uma origem (domínio). Diferente dos cookies, os dados do localStorage não são enviados automaticamente ao servidor em cada requisição HTTP — eles ficam apenas no cliente, disponíveis para o JavaScript da página acessar quando necessário.
A persistência é o ponto-chave: os dados do localStorage não têm prazo de validade e sobrevivem ao fechamento do navegador. Eles só são removidos se o próprio código chamar localStorage.removeItem() ou localStorage.clear(), ou se o usuário limpar os dados de navegação manualmente. Isso o distingue do sessionStorage, que também armazena pares chave/valor, mas apenas durante a sessão da aba — ao fechar a aba, os dados são perdidos.
Outra característica importante: o localStorage armazena apenas strings. Por isso, para salvar um objeto JavaScript, é necessário convertê-lo para JSON com JSON.stringify(). Para recuperar o objeto, usa-se JSON.parse(). No código do enunciado, o objeto user é convertido para uma string JSON e salvo sob a chave "user".
A pegadinha da questão está em confundir localStorage com cookies ou com armazenamento no servidor. Cookies são pequenos arquivos enviados ao servidor em cada requisição, têm tamanho limitado (cerca de 4 KB) e podem ter data de expiração. O localStorage não é enviado ao servidor, tem capacidade maior (cerca de 5–10 MB por origem) e não expira. Também não há qualquer envolvimento de arquivos locais do sistema operacional ou de banco de dados no servidor — tudo acontece dentro do navegador.
Guarde essa distinção: localStorage = persistente, só no cliente, não vai ao servidor; sessionStorage = temporário, só na aba, não vai ao servidor; cookie = vai ao servidor, pode expirar. É exatamente nessa fronteira que as alternativas se dividem.
Armazenamento web no navegador: localStorage (Persistente (não expira), Só no cliente (não vai ao servidor), Guarda apenas strings (JSON.stringify)); sessionStorage (Temporário (perde ao fechar a aba), Só no cliente); Cookie (Vai ao servidor em cada requisição, Pode expirar, Tamanho limitado (~4 KB))
Alternativa A — ❌ Incorreta
Afirma que os dados são armazenados em um arquivo local C:\user.json. O localStorage não cria arquivos acessíveis no sistema de arquivos do computador; ele usa um armazenamento interno gerenciado pelo navegador, sem expor um caminho de arquivo como C:\user.json. O dado fica dentro do navegador, não em um arquivo que o usuário possa localizar diretamente.
Alternativa B — ❌ Incorreta
Diz que os dados são excluídos quando o navegador é fechado. Isso descreve o comportamento do sessionStorage, não do localStorage. O localStorage persiste os dados mesmo após o fechamento do navegador — é justamente essa a característica que o define. A alternativa troca o comportamento de um pelo outro.
Alternativa C — ❌ Incorreta
Afirma que um cookie chamado user é armazenado e enviado ao servidor nas próximas requisições. O código usa localStorage, não cookies. Cookies são enviados automaticamente ao servidor em cada requisição HTTP; o localStorage não tem esse comportamento — os dados ficam apenas no cliente, acessíveis via JavaScript.
Alternativa D — ✅ Correta ⟵ GABARITO
Descreve exatamente o que o localStorage faz: armazena um par chave/valor no navegador, sem data para expirar, mantendo-se armazenado mesmo após o fechamento do navegador. O código localStorage.setItem("user", JSON.stringify(user)) salva a string JSON do objeto user sob a chave "user", e esse dado persiste até ser removido explicitamente ou pelo usuário.
Alternativa E — ❌ Incorreta
Diz que o objeto é armazenado em um banco de dados no servidor web, exigindo requisição HTTP para recuperá-lo. O localStorage é uma API exclusivamente do lado do cliente (navegador). Não há envio de dados ao servidor nem uso de banco de dados remoto — tudo permanece local no navegador.
NÃO CAIA NESSA!
A banca explora a confusão entre localStorage, sessionStorage e cookies. O candidato que sabe que localStorage persiste, mas não lembra que ele não vai ao servidor, pode cair na alternativa C. E quem confunde com sessionStorage cai na B. A chave é lembrar: localStorage = persistente + só no cliente.
PEGA ESSA DICA!
Na prova, quando aparecer localStorage.setItem, pense em três palavras: persistente, cliente e string. Se a alternativa falar em expiração, servidor ou arquivo local, está errada. Compare mentalmente com sessionStorage (temporário) e cookies (vão ao servidor) para eliminar distratores rapidamente.