El localStorage
localStorage es una API en JavaScript que permite almacenar datos de manera persistente en el navegador del usuario. Los datos almacenados en localStorage permanecen incluso si el navegador se cierra y se vuelve a abrir. Es útil para guardar pequeñas cantidades de información que necesitas conservar entre sesiones del usuario, como preferencias de usuario, configuraciones, o estado de la aplicación.
1. Características de localStorage #
- Persistencia: Los datos guardados en
localStorageno se eliminan al cerrar el navegador. - Almacenamiento clave-valor:
localStoragealmacena datos en pares clave-valor, donde ambos son cadenas de texto. - Capacidad: Tiene una capacidad limitada (generalmente alrededor de 5MB por dominio).
¿Cómo se usa localStorage? #
Las operaciones básicas con localStorage son guardar datos, recuperar datos, y eliminar datos.
-
Guardar datos: Usando
localStorage.setItem(clave, valor).clave: El nombre bajo el cual se almacena el valor.valor: El valor que se almacena, que debe ser una cadena de texto.
Ejemplo:
1localStorage.setItem('nombre', 'Juan'); -
Recuperar datos: Usando
localStorage.getItem(clave).clave: El nombre de la clave cuyo valor deseas recuperar.
Ejemplo:
1let nombre = localStorage.getItem('nombre'); 2console.log(nombre); // Muestra "Juan"
-
Eliminar datos: Usando
localStorage.removeItem(clave).clave: El nombre de la clave que deseas eliminar.
Ejemplo:
1localStorage.removeItem('nombre'); -
Eliminar todos los datos: Usando
localStorage.clear().- Elimina todos los datos almacenados en
localStoragepara ese dominio.
Ejemplo:
1localStorage.clear(); - Elimina todos los datos almacenados en
Trabajar con objetos en localStorage #
Como localStorage solo almacena cadenas de texto, si deseas almacenar objetos, debes convertirlos en una cadena de texto usando JSON.stringify() y luego convertirlos de nuevo en un objeto usando JSON.parse() cuando los recuperes.
Ejemplo:
Resumen del tema
Conceptos clave #
- Almacenamiento Persistente en Cliente (
localStorage): mecanismo de almacenamiento síncrono del navegador que persiste indefinidamente (~5-10 MB por origen: protocolo + dominio + puerto) sin fecha de caducidad. - API de Manipulación Clave-Valor:
setItem(key, value): guarda o actualiza una entrada (convierte el valor a string).getItem(key): lee el valor (devuelvenullsi la clave no existe).removeItem(key): borra una entrada específica.clear(): vacía todo el almacenamiento del dominio.
- Almacenamiento de Objetos Complejos: serialización obligatoria con
JSON.stringify(obj)al guardar y deserialización conJSON.parse(str)al recuperar.
Qué debes recordar #
localStorage almacena pares clave-valor de texto de forma persistente; usa siempre JSON.stringify() y JSON.parse() para guardar y recuperar estructuras de datos complejas.