0Pricing
HTML Academy · Aula

Obtendo, definindo e removendo itens

Use a API Web Storage para ler e escrever dados.

Obtendo, definindo e removendo itens é uma aula grátis de HTML Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de HTML Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de HTML Academy inclui 4 aulas no total.

A superfície da API de armazenamento

Tanto localStorage quanto sessionStorage expõem os mesmos quatro métodos principais: getItem(key), setItem(key, value), removeItem(key) e clear(). Eles são simples armazenamentos de pares de chave e valor mantidos pelo navegador.

setItem armazena textos

localStorage.setItem("theme", "dark") persiste um texto sob a chave "theme". Tanto a chave quanto o valor devem ser textos — valores que não sejam textos são convertidos antes do armazenamento, o que corrompe silenciosamente objetos e matrizes.

localStorage.setItem("theme", "dark");
localStorage.setItem("count", "42");

Armazenando objetos com JSON

Para armazenar dados estruturados, serialize-os com JSON: localStorage.setItem("user", JSON.stringify(user)). Leia-os novamente: const user = JSON.parse(localStorage.getItem("user")). Sempre envolva a análise em um bloco de tratamento de erros caso o valor armazenado esteja malformado.

const user = { name: "Ada", age: 30 };
localStorage.setItem("user", JSON.stringify(user));
const loaded = JSON.parse(localStorage.getItem("user"));

getItem retorna texto ou null

getItem("missing") retorna null quando a chave não existe — nunca undefined. Use o operador de coalescência nula para fornecer valores padrão: const theme = localStorage.getItem("theme") ?? "light".

Sintaxe de acesso a propriedades

Você também pode usar a notação de colchetes e de ponto: localStorage.theme = "dark" e localStorage["theme"]. Ambas funcionam, mas ocultam a intenção — prefira as chamadas explícitas de métodos, que comunicam claramente que se trata de armazenamento persistente, e não de uma propriedade de objeto.

removeItem e limpeza

localStorage.removeItem("theme") exclui uma única chave. localStorage.clear() apaga todas as chaves da origem atual. clear() é destrutivo — nunca o chame sem um motivo forte; ele remove os dados definidos por todos os scripts da página.

Percorrendo as chaves armazenadas

Use localStorage.length e localStorage.key(index) para percorrer todas as chaves armazenadas ou espalhe Object.keys(localStorage). Isso é útil para migrações, depuração e limpeza baseada em prefixos, como remover todas as chaves que começam com "cache:".

for (let i = 0; i < localStorage.length; i++) {
  const key = localStorage.key(i);
  console.log(key, localStorage.getItem(key));
}

Erros de cota excedida

Os navegadores alocam aproximadamente de 5 a 10 MB por origem. Exceder a cota gera um QuotaExceededError. Envolva setItem em um bloco de tratamento de erros ao armazenar valores potencialmente grandes, como caches de imagens ou rascunhos de documentos, para que o erro não encerre inesperadamente o aplicativo.

try {
  localStorage.setItem("draft", largeString);
} catch (e) {
  if (e.name === "QuotaExceededError") {
    // free space, warn user, or fall back
  }
}

Organização de chaves por espaço de nomes

O armazenamento é compartilhado por toda a origem. Prefixe suas chaves com o nome do aplicativo ou do recurso (app:settings, cart:items) para evitar conflitos com outros scripts, bibliotecas de terceiros e extensões do navegador em execução na mesma origem.

Síncrono e bloqueante

A API de armazenamento é totalmente síncrona — cada chamada bloqueia a thread principal até que a entrada e saída do disco seja concluída. Evite armazenar blocos muito grandes ou chamar setItem dentro de laços apertados; agrupe as atualizações em um único objeto serializado.

sessionStorage versus localStorage

A mesma superfície de API, mas com duração diferente. O sessionStorage é apagado quando a aba é fechada; o localStorage persiste entre reinicializações do navegador. Escolha sessionStorage para o estado temporário de um assistente e localStorage para preferências do usuário que devem sobreviver a uma atualização.

Verificação de conhecimento

O que localStorage.getItem("missing-key") retorna quando a chave nunca foi definida?

Resumo

getItem, setItem, removeItem e clear são os quatro pilares do armazenamento da Web. Os valores são sempre textos, portanto envolva os dados estruturados com JSON. Prepare-se para retornos null, QuotaExceededError e organização por espaços de nomes, compartilhando educadamente a origem com outros scripts.

Perguntas Frequentes

A aula “Obtendo, definindo e removendo itens” é grátis?

Sim — o texto completo de “Obtendo, definindo e removendo itens” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de HTML Academy, atualize para CoddyKit PRO. O curso de HTML Academy inclui 4 aulas no total.

O que vou aprender em “Obtendo, definindo e removendo itens”?

Use a API Web Storage para ler e escrever dados. Você pratica HTML Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar HTML Academy?

Nenhuma experiência prévia é necessária. HTML Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Obtendo, definindo e removendo itens”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de HTML Academy?

Sim. Cada aula de HTML Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. localStorage versus sessionStorage
  2. Obtendo, definindo e removendo itens
  3. Monitorando eventos de armazenamento
  4. Segurança: o que nunca armazenar no armazenamento
← Voltar para HTML Academy