Chuck's Academy

JavaScript Básico

Almacenamiento en el Navegador

El almacenamiento en el navegador es una funcionalidad importante para crear aplicaciones web más interactivas y eficientes. Nos permite almacenar datos en el lado del cliente, lo que significa que podemos mantener información entre sesiones, reducir las solicitudes al servidor y mejorar la experiencia del usuario. En este capítulo, exploraremos los diferentes mecanismos de almacenamiento disponibles en JavaScript, incluidos las cookies, el Local Storage, el Session Storage y el IndexedDB.

Cookies

Las cookies son pequeños fragmentos de datos que un servidor puede enviar al navegador, y el navegador almacena para enviarlos de vuelta en las solicitudes posteriores. Las cookies se utilizan comúnmente para el seguimiento de sesiones, almacenamiento de información de usuarios, y autenticación.

Creación de una Cookie

Para crear una cookie en JavaScript, puedes utilizar document.cookie. Las cookies tienen un formato clave-valor, y puedes especificar una fecha de caducidad y otras opciones.

javascript
"Aquí creamos una cookie llamada username con el valor JohnDoe. Establecemos una fecha de expiración para el 31 de diciembre de 2024, y hacemos que la cookie sea accesible en todas las rutas del sitio utilizando el parámetro path."

Lectura de Cookies

Puedes acceder a todas las cookies utilizando document.cookie. Sin embargo, este método devuelve todas las cookies como una sola cadena, por lo que necesitarás procesarla para obtener los valores individuales.

javascript
"Aquí usamos document.cookie para obtener todas las cookies y las dividimos en un array usando split. Luego recorremos cada cookie e imprimimos su valor en la consola."

Eliminación de Cookies

Para eliminar una cookie, puedes establecer su fecha de expiración en el pasado.

javascript
"Aquí eliminamos la cookie llamada username estableciendo su fecha de expiración en el pasado, lo que hace que el navegador la borre."

Local Storage

El Local Storage permite almacenar datos de manera persistente en el navegador sin que estos expiren. Los datos almacenados en Local Storage persisten incluso después de que el usuario cierre la pestaña o el navegador.

Guardar Datos en Local Storage

Puedes almacenar datos en el Local Storage utilizando el método setItem.

javascript
"En este ejemplo, usamos localStorage.setItem para almacenar el valor JohnDoe bajo la clave username en el almacenamiento local del navegador."

Leer Datos de Local Storage

Para leer datos del Local Storage, utilizamos getItem.

javascript
"Aquí usamos localStorage.getItem para obtener el valor almacenado bajo la clave username y lo imprimimos en la consola."

Eliminar Datos de Local Storage

Puedes eliminar un ítem específico del Local Storage utilizando removeItem.

javascript
"En este ejemplo, eliminamos el ítem username del almacenamiento local utilizando localStorage.removeItem."

Eliminar Todo el Local Storage

Si necesitas eliminar todos los datos almacenados en el Local Storage, puedes utilizar clear.

javascript
"Aquí usamos localStorage.clear para eliminar todos los datos almacenados en el Local Storage."

Session Storage

El Session Storage es similar al Local Storage, pero los datos que almacena solo persisten durante la sesión del navegador. Una vez que el usuario cierra la pestaña o el navegador, los datos se eliminan.

Guardar Datos en Session Storage

Al igual que el Local Storage, puedes guardar datos en el Session Storage utilizando setItem.

javascript
"Aquí almacenamos un valor sessionID con el valor 12345 en el Session Storage utilizando sessionStorage.setItem."

Leer y Eliminar Datos de Session Storage

Los métodos para leer y eliminar datos en Session Storage son idénticos a los de Local Storage.

javascript
"Usamos sessionStorage.getItem para leer el valor de sessionID y sessionStorage.removeItem para eliminar ese valor del Session Storage."

IndexedDB

IndexedDB es una base de datos orientada a objetos que permite almacenar grandes cantidades de datos estructurados, incluidos archivos y blobs. A diferencia del Local Storage y el Session Storage, IndexedDB es más adecuado para aplicaciones complejas que necesitan almacenar datos grandes o realizar consultas avanzadas.

Abrir una Base de Datos

Para usar IndexedDB, primero debes abrir una base de datos utilizando indexedDB.open. Este proceso es asincrónico y requiere manejar eventos de éxito y error.

javascript
"En este ejemplo, abrimos una base de datos llamada MyDatabase usando indexedDB.open. Definimos manejadores de eventos onsuccess y onerror para gestionar los resultados de la operación."

Guardar Datos en IndexedDB

Para guardar datos en IndexedDB, debes crear una transacción y usar un almacén de objetos (object store).

javascript
"Aquí creamos una transacción en la base de datos y añadimos un objeto al almacén de usuarios. Si la operación es exitosa, imprimimos un mensaje en la consola. Si ocurre un error, lo manejamos con onerror."

IndexedDB es muy potente, pero también es más complejo que el Local Storage y Session Storage, por lo que se utiliza principalmente para aplicaciones que necesitan un almacenamiento de datos más avanzado.

Conclusión

El almacenamiento en el navegador es una herramienta esencial para crear aplicaciones web interactivas y eficientes. En este capítulo, hemos explorado diferentes métodos de almacenamiento en el lado del cliente, incluidas las cookies, Local Storage, Session Storage e IndexedDB.


Pregúntame lo que sea