Stocker des données avec sessionStorage
en JavaScript
❓ Qu'est-ce que le sessionStorage
?
Le sessionStorage
est une API JavaScript similaire au localStorage
, qui permet de stocker des données temporairement dans le navigateur.
La principale différence est la durée de vie : les données dans le sessionStorage
sont supprimées automatiquement dès que l’onglet du navigateur est fermé.
🎛️ Caractéristiques principales
- Stockage sous forme clé/valeur
- Données valides uniquement pendant la session
- Taille maximale ~5 Mo
- Accessible uniquement depuis le même onglet et le même domaine
💡 Syntaxe de base
Ajouter une donnée
js
sessionStorage.setItem("theme", "sombre");
Lire une donnée
js
const theme = sessionStorage.getItem("theme");
console.log(theme); // "sombre"
Supprimer une clé
js
sessionStorage.removeItem("theme");
Vider tout le stockage de session
js
sessionStorage.clear();
💾 Stocker des objets (via JSON)
Comme pour localStorage
, les objets doivent être transformés en chaînes avec JSON.stringify
.
js
const user = {
nom: "Camille",
statut: "connecté"
};
sessionStorage.setItem("user", JSON.stringify(user));
const retrieved = JSON.parse(sessionStorage.getItem("user"));
console.log(retrieved.nom); // "Camille"
📂 Visualiser et modifier les données
Tu peux consulter et éditer les données via les outils développeur de ton navigateur :
- Appuie sur F12 ou clic droit > Inspecter
- Onglet Application (ou "Stockage")
- Sélectionne Session Storage puis ton domaine
Tu peux voir, éditer ou supprimer les paires clé/valeur en direct.
📊 Différences localStorage
vs sessionStorage
Caractéristique | localStorage | sessionStorage |
---|---|---|
Durée de vie | Permanente | Temporaire (fermeture onglet) |
Partagé entre onglets | Oui | Non |
Capacité | ~5 Mo | ~5 Mo |
API | Identique (setItem , getItem , etc.) |
🧠 À retenir
Utilise sessionStorage
quand tu veux stocker des données temporairement et les effacer à la fermeture de l’onglet, par exemple :
- Statut de connexion temporaire
- Données de formulaire non soumises
- Navigation en cours dans une web app