La gestion du stockage en JavaScript

Introduction au stockage en JavaScript

Le Stockage en JavaScript permet d'ajouter, de modifier et de supprimer des paires clé/valeur. Les clés et les valeurs stockées sont toujours des chaînes de caractères au format UTF-16. Les clés numériques sont converties en chaînes. Le stockage de session pour un domaine est accessible via un objet nommé sessionStorage. D'autre part, le stockage local est géré par un objet appelé localStorage.

Différences entre localStorage et sessionStorage

Les deux principaux objets de stockage sont :

  • localStorage : Les données sont enregistrées pour l'origine du document et persistent entre les sessions de navigateur. Ces données n'ont pas de date d'expiration.
  • sessionStorage : Les données sont également stockées pour l'origine du document, mais elles ne persistent que durant la session de navigateur en cours.

Particularités des objets Storage

À noter que l'objet Storage est spécifique au protocole du document. Ainsi, localStorage ou sessionStorage pour http://codecademy.com sera différent de ceux pour https://codecademy.com.

Une autre remarque importante : le comportement des objets Storage pour les documents chargés à partir de la filesystem locale (par exemple file:) est indéfini. De nombreux navigateurs définissent un objet Storage séparé pour chaque URL file:, mais il n'est pas recommandé de s'appuyer sur ce comportement.

Exemple d'utilisation du localStorage

Voici un exemple montrant comment ajouter une paire clé/valeur à localStorage, la récupérer et la supprimer :

// Ajoute une clé/valeur au localStorage
localStorage.setItem('dataKey', 'dataValue');

// Récupère la valeur de la clé
const data = localStorage.getItem('dataKey');
console.log(data); // Affiche : dataValue

// Supprime la clé du localStorage
localStorage.removeItem('dataKey');

Méthodes et propriétés de l'objet Storage

Voici une liste des principales méthodes et propriétés de l'objet Storage :

  • Storage.clear() : Supprime toutes les clés dans un objet Storage.
  • Storage.getItem(key) : Retourne la valeur de la clé donnée dans l'élément de données.
  • Storage.length : Retourne le nombre d'éléments dans un tableau ou le nombre de caractères dans une chaîne.
  • Storage.removeItem(key) : Supprime une paire clé-valeur du stockage local en fonction de la clé spécifiée.
  • Storage.setItem(key, value) : Met à jour la valeur de la clé spécifiée dans l'objet de stockage, ou ajoute la clé si elle n'existe pas.