SessionStorage: guardando informações enquanto a aba estiver aberta
Descubra como o SessionStorage funciona para dados temporários da sessão.
Se o localStorage é um armário que continua lá por muito tempo, o sessionStorage é como uma mesa de trabalho temporária:
ele guarda dados enquanto você está usando aquela aba.
Quando a aba é fechada, os dados da sessão são apagados.
O que é SessionStorage?
sessionStorage é uma API do navegador para armazenar dados em formato chave + valor, mas com duração limitada à sessão da aba.
Comportamento principal
- os dados ficam disponíveis durante a sessão da aba
- ao fechar a aba/janela, os dados são removidos
- ao recarregar a página na mesma aba, os dados permanecem
- cada aba tem sua própria sessão (isolada das outras abas)
Métodos principais
A API é muito parecida com localStorage:
1) Salvar valor
sessionStorage.setItem("nome", "Carla");
2) Ler valor
const nome = sessionStorage.getItem("nome");
console.log(nome); // Carla
3) Remover uma chave
sessionStorage.removeItem("nome");
4) Limpar tudo da sessão
sessionStorage.clear();
Atenção: valores são strings
Assim como no localStorage, o sessionStorage salva valores como texto.
Se precisar salvar objeto/array:
const carrinho = [
{ produto: "Mouse", qtd: 1 },
{ produto: "Teclado", qtd: 1 }
];
sessionStorage.setItem("carrinho", JSON.stringify(carrinho));
Para ler de volta:
const carrinhoSalvo = sessionStorage.getItem("carrinho");
const carrinhoObj = JSON.parse(carrinhoSalvo);
console.log(carrinhoObj);
Exemplo prático: rascunho temporário de formulário
Imagine um formulário grande.
Você pode salvar o que o usuário digita para não perder ao recarregar a página na mesma aba.
<input id="titulo" placeholder="Título do post" />
<textarea id="texto" placeholder="Escreva seu texto"></textarea>
const titulo = document.getElementById("titulo");
const texto = document.getElementById("texto");
// restaurar rascunho ao carregar
titulo.value = sessionStorage.getItem("rascunhoTitulo") || "";
texto.value = sessionStorage.getItem("rascunhoTexto") || "";
// salvar em tempo real
titulo.addEventListener("input", function () {
sessionStorage.setItem("rascunhoTitulo", titulo.value);
});
texto.addEventListener("input", function () {
sessionStorage.setItem("rascunhoTexto", texto.value);
});
Quando usar SessionStorage?
Use quando o dado é temporário e só precisa existir na aba atual, por exemplo:
- rascunho de formulário
- filtros temporários de uma tela
- etapa atual de um fluxo curto
- estado que não deve continuar após fechar a aba
SessionStorage x LocalStorage
- SessionStorage: dura enquanto a aba estiver aberta.
- LocalStorage: continua salvo mesmo depois de fechar navegador/aba.
Boas práticas
- não armazenar dados sensíveis em texto puro
- limpar dados temporários ao finalizar fluxo
- usar nomes de chave claros (
rascunhoTitulo,filtroProdutos, etc.) - escolher entre
localStorageesessionStoragecom base na duração desejada
Resumo da lição
sessionStorageguarda dados temporários por aba.- API parecida com
localStorage:setItem,getItem,removeItem,clear. - valores são strings; use JSON para objetos/arrays.
- ideal para estados temporários e rascunhos durante a sessão.