En esta lección, aprenderás sobre el almacenamiento local y de sesión en JavaScript. Estas son dos características del navegador que permiten almacenar datos en el lado del cliente, lo que puede ser útil para mantener el estado de la aplicación entre recargas de página o sesiones del navegador.

¿Qué es el Almacenamiento Local y de Sesión?

Almacenamiento Local (Local Storage)

El almacenamiento local permite almacenar datos en el navegador sin fecha de expiración. Los datos almacenados en el almacenamiento local persisten incluso después de cerrar el navegador o apagar el ordenador.

Almacenamiento de Sesión (Session Storage)

El almacenamiento de sesión es similar al almacenamiento local, pero con una diferencia clave: los datos almacenados en el almacenamiento de sesión solo persisten durante la sesión del navegador. Una vez que se cierra la pestaña o ventana del navegador, los datos se eliminan.

Comparación entre Almacenamiento Local y de Sesión

Característica Almacenamiento Local (Local Storage) Almacenamiento de Sesión (Session Storage)
Persistencia Permanente Temporal (hasta que se cierra la pestaña)
Tamaño Máximo Generalmente 5-10 MB Generalmente 5-10 MB
Alcance Todas las pestañas y ventanas Solo la pestaña o ventana actual
Accesibilidad JavaScript JavaScript

Uso del Almacenamiento Local

Guardar Datos en el Almacenamiento Local

Para guardar datos en el almacenamiento local, utilizamos el método setItem del objeto localStorage.

// Guardar un valor
localStorage.setItem('nombre', 'Juan');

// Guardar un objeto como JSON
const usuario = { nombre: 'Juan', edad: 30 };
localStorage.setItem('usuario', JSON.stringify(usuario));

Recuperar Datos del Almacenamiento Local

Para recuperar datos, utilizamos el método getItem.

// Recuperar un valor
const nombre = localStorage.getItem('nombre');
console.log(nombre); // "Juan"

// Recuperar un objeto
const usuarioJSON = localStorage.getItem('usuario');
const usuario = JSON.parse(usuarioJSON);
console.log(usuario); // { nombre: 'Juan', edad: 30 }

Eliminar Datos del Almacenamiento Local

Para eliminar datos, utilizamos el método removeItem.

// Eliminar un valor
localStorage.removeItem('nombre');

Limpiar Todo el Almacenamiento Local

Para limpiar todos los datos almacenados, utilizamos el método clear.

// Limpiar todo el almacenamiento local
localStorage.clear();

Uso del Almacenamiento de Sesión

Guardar Datos en el Almacenamiento de Sesión

El uso del almacenamiento de sesión es similar al del almacenamiento local, pero utilizamos el objeto sessionStorage.

// Guardar un valor
sessionStorage.setItem('nombre', 'Ana');

// Guardar un objeto como JSON
const usuario = { nombre: 'Ana', edad: 25 };
sessionStorage.setItem('usuario', JSON.stringify(usuario));

Recuperar Datos del Almacenamiento de Sesión

Para recuperar datos, utilizamos el método getItem.

// Recuperar un valor
const nombre = sessionStorage.getItem('nombre');
console.log(nombre); // "Ana"

// Recuperar un objeto
const usuarioJSON = sessionStorage.getItem('usuario');
const usuario = JSON.parse(usuarioJSON);
console.log(usuario); // { nombre: 'Ana', edad: 25 }

Eliminar Datos del Almacenamiento de Sesión

Para eliminar datos, utilizamos el método removeItem.

// Eliminar un valor
sessionStorage.removeItem('nombre');

Limpiar Todo el Almacenamiento de Sesión

Para limpiar todos los datos almacenados, utilizamos el método clear.

// Limpiar todo el almacenamiento de sesión
sessionStorage.clear();

Ejercicio Práctico

Ejercicio 1: Guardar y Recuperar Datos

  1. Crea un formulario HTML con un campo de texto y un botón.
  2. Cuando el usuario haga clic en el botón, guarda el valor del campo de texto en el almacenamiento local.
  3. Recupera y muestra el valor almacenado en la consola del navegador.
<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Almacenamiento Local</title>
</head>
<body>
    <input type="text" id="inputNombre" placeholder="Ingresa tu nombre">
    <button id="btnGuardar">Guardar</button>

    <script>
        document.getElementById('btnGuardar').addEventListener('click', () => {
            const nombre = document.getElementById('inputNombre').value;
            localStorage.setItem('nombre', nombre);
            console.log('Nombre guardado:', nombre);
        });

        // Recuperar y mostrar el valor almacenado
        const nombreGuardado = localStorage.getItem('nombre');
        if (nombreGuardado) {
            console.log('Nombre recuperado:', nombreGuardado);
        }
    </script>
</body>
</html>

Solución del Ejercicio 1

El código anterior crea un formulario simple con un campo de texto y un botón. Cuando el usuario hace clic en el botón, el valor del campo de texto se guarda en el almacenamiento local y se muestra en la consola. Si hay un valor almacenado previamente, se recupera y se muestra en la consola al cargar la página.

Conclusión

En esta lección, has aprendido sobre el almacenamiento local y de sesión en JavaScript. Estas herramientas son útiles para almacenar datos en el lado del cliente, lo que puede mejorar la experiencia del usuario al mantener el estado de la aplicación entre recargas de página o sesiones del navegador. Ahora estás listo para aplicar estos conceptos en tus proyectos y mejorar la funcionalidad de tus aplicaciones web.

JavaScript: De Principiante a Avanzado

Módulo 1: Introducción a JavaScript

Módulo 2: Estructuras de Control

Módulo 3: Funciones

Módulo 4: Objetos y Arrays

Módulo 5: Objetos y Funciones Avanzadas

Módulo 6: El Modelo de Objetos del Documento (DOM)

Módulo 7: APIs del Navegador y Temas Avanzados

Módulo 8: Pruebas y Depuración

Módulo 9: Rendimiento y Optimización

Módulo 10: Frameworks y Librerías de JavaScript

Módulo 11: Proyecto Final

© Copyright 2024. Todos los derechos reservados