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
- localStorage versus sessionStorage
- Obtendo, definindo e removendo itens
- Monitorando eventos de armazenamento
- Segurança: o que nunca armazenar no armazenamento