Menu iconMenu icon
JavaScript from Zero to Superhero

Chapter 7: Web APIs and Interfaces

7.5 Ejercicios Prácticos para el Capítulo 7: APIs e Interfaces Web

Para solidificar tu comprensión de las APIs web discutidas en el Capítulo 7, esta sección proporciona ejercicios prácticos que se centran en implementar y usar estas tecnologías en escenarios del mundo real. Cada ejercicio incluye una explicación detallada y el código de solución, ayudándote a aplicar lo que has aprendido de manera efectiva.

Ejercicio 1: Usando la Fetch API

Objetivo: Escribir una función utilizando la Fetch API para recuperar datos de usuario de una API pública y registrar los nombres de usuario en la consola.

Solución:

function fetchUserData() {
    fetch('<https://jsonplaceholder.typicode.com/users>')
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok');
            }
            return response.json();
        })
        .then(users => {
            users.forEach(user => {
                console.log(user.name);
            });
        })
        .catch(error => {
            console.error('Fetch error:', error);
        });
}

fetchUserData();

Esta función realiza una solicitud GET a una API pública que devuelve una lista de usuarios. Procesa la respuesta JSON para extraer y registrar el nombre de cada usuario.

Ejercicio 2: Implementando localStorage

Objetivo: Crear funciones para guardar, recuperar y eliminar una configuración de tema en localStorage.

Solución:

function saveTheme(theme) {
    localStorage.setItem('theme', theme);
    console.log('Theme saved:', theme);
}

function getTheme() {
    return localStorage.getItem('theme') || 'default'; // Return 'default' if no theme set
}

function removeTheme() {
    localStorage.removeItem('theme');
    console.log('Theme removed');
}

// Example usage
saveTheme('dark');
console.log('Current theme:', getTheme());
removeTheme();

Este ejercicio demuestra cómo usar localStorage para almacenar, recuperar y eliminar configuraciones de usuario, específicamente una preferencia de tema.

Ejercicio 3: Manejo de Datos de Sesión con sessionStorage

Objetivo: Escribir funciones para almacenar y recuperar datos de sesión sobre el recuento de visitas de la página del usuario.

Solución:

function incrementPageVisit() {
    let visits = parseInt(sessionStorage.getItem('visitCount')) || 0;
    visits++;
    sessionStorage.setItem('visitCount', visits);
    console.log(`Visit count updated: ${visits}`);
}

function getPageVisits() {
    return sessionStorage.getItem('visitCount') || 0;
}

// Example usage
incrementPageVisit();
console.log(`Page visits: ${getPageVisits()}`);

Este ejercicio muestra cómo gestionar datos específicos de la sesión utilizando sessionStorage, rastreando el número de veces que un usuario visita una página durante una sesión.

Ejercicio 4: Manipulando el Historial con la API de Historial

Objetivo: Implementar una función que navegue al usuario de regreso a la página de inicio utilizando la API de Historial después de modificar las entradas del historial.

Solución:

function navigateHome() {
    history.pushState({ page: 'homepage' }, 'homepage', '/home');
    history.go(); // Navigates to the new state
    console.log('Navigation to homepage triggered');
}

// Trigger the navigation
navigateHome();

Esta función utiliza la API de Historial para agregar programáticamente una nueva entrada de historial para la página de inicio y luego navega a ella. Esto es útil en aplicaciones de una sola página donde necesitas gestionar el historial de navegación manualmente.

Estos ejercicios están diseñados para ayudarte a practicar y entender el uso de varias APIs web e interfaces cubiertas en el Capítulo 7. Al completar estos ejercicios, deberías obtener una comprensión práctica de cómo integrar estas APIs en aplicaciones web, mejorando su funcionalidad e interactividad.

7.5 Ejercicios Prácticos para el Capítulo 7: APIs e Interfaces Web

Para solidificar tu comprensión de las APIs web discutidas en el Capítulo 7, esta sección proporciona ejercicios prácticos que se centran en implementar y usar estas tecnologías en escenarios del mundo real. Cada ejercicio incluye una explicación detallada y el código de solución, ayudándote a aplicar lo que has aprendido de manera efectiva.

Ejercicio 1: Usando la Fetch API

Objetivo: Escribir una función utilizando la Fetch API para recuperar datos de usuario de una API pública y registrar los nombres de usuario en la consola.

Solución:

function fetchUserData() {
    fetch('<https://jsonplaceholder.typicode.com/users>')
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok');
            }
            return response.json();
        })
        .then(users => {
            users.forEach(user => {
                console.log(user.name);
            });
        })
        .catch(error => {
            console.error('Fetch error:', error);
        });
}

fetchUserData();

Esta función realiza una solicitud GET a una API pública que devuelve una lista de usuarios. Procesa la respuesta JSON para extraer y registrar el nombre de cada usuario.

Ejercicio 2: Implementando localStorage

Objetivo: Crear funciones para guardar, recuperar y eliminar una configuración de tema en localStorage.

Solución:

function saveTheme(theme) {
    localStorage.setItem('theme', theme);
    console.log('Theme saved:', theme);
}

function getTheme() {
    return localStorage.getItem('theme') || 'default'; // Return 'default' if no theme set
}

function removeTheme() {
    localStorage.removeItem('theme');
    console.log('Theme removed');
}

// Example usage
saveTheme('dark');
console.log('Current theme:', getTheme());
removeTheme();

Este ejercicio demuestra cómo usar localStorage para almacenar, recuperar y eliminar configuraciones de usuario, específicamente una preferencia de tema.

Ejercicio 3: Manejo de Datos de Sesión con sessionStorage

Objetivo: Escribir funciones para almacenar y recuperar datos de sesión sobre el recuento de visitas de la página del usuario.

Solución:

function incrementPageVisit() {
    let visits = parseInt(sessionStorage.getItem('visitCount')) || 0;
    visits++;
    sessionStorage.setItem('visitCount', visits);
    console.log(`Visit count updated: ${visits}`);
}

function getPageVisits() {
    return sessionStorage.getItem('visitCount') || 0;
}

// Example usage
incrementPageVisit();
console.log(`Page visits: ${getPageVisits()}`);

Este ejercicio muestra cómo gestionar datos específicos de la sesión utilizando sessionStorage, rastreando el número de veces que un usuario visita una página durante una sesión.

Ejercicio 4: Manipulando el Historial con la API de Historial

Objetivo: Implementar una función que navegue al usuario de regreso a la página de inicio utilizando la API de Historial después de modificar las entradas del historial.

Solución:

function navigateHome() {
    history.pushState({ page: 'homepage' }, 'homepage', '/home');
    history.go(); // Navigates to the new state
    console.log('Navigation to homepage triggered');
}

// Trigger the navigation
navigateHome();

Esta función utiliza la API de Historial para agregar programáticamente una nueva entrada de historial para la página de inicio y luego navega a ella. Esto es útil en aplicaciones de una sola página donde necesitas gestionar el historial de navegación manualmente.

Estos ejercicios están diseñados para ayudarte a practicar y entender el uso de varias APIs web e interfaces cubiertas en el Capítulo 7. Al completar estos ejercicios, deberías obtener una comprensión práctica de cómo integrar estas APIs en aplicaciones web, mejorando su funcionalidad e interactividad.

7.5 Ejercicios Prácticos para el Capítulo 7: APIs e Interfaces Web

Para solidificar tu comprensión de las APIs web discutidas en el Capítulo 7, esta sección proporciona ejercicios prácticos que se centran en implementar y usar estas tecnologías en escenarios del mundo real. Cada ejercicio incluye una explicación detallada y el código de solución, ayudándote a aplicar lo que has aprendido de manera efectiva.

Ejercicio 1: Usando la Fetch API

Objetivo: Escribir una función utilizando la Fetch API para recuperar datos de usuario de una API pública y registrar los nombres de usuario en la consola.

Solución:

function fetchUserData() {
    fetch('<https://jsonplaceholder.typicode.com/users>')
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok');
            }
            return response.json();
        })
        .then(users => {
            users.forEach(user => {
                console.log(user.name);
            });
        })
        .catch(error => {
            console.error('Fetch error:', error);
        });
}

fetchUserData();

Esta función realiza una solicitud GET a una API pública que devuelve una lista de usuarios. Procesa la respuesta JSON para extraer y registrar el nombre de cada usuario.

Ejercicio 2: Implementando localStorage

Objetivo: Crear funciones para guardar, recuperar y eliminar una configuración de tema en localStorage.

Solución:

function saveTheme(theme) {
    localStorage.setItem('theme', theme);
    console.log('Theme saved:', theme);
}

function getTheme() {
    return localStorage.getItem('theme') || 'default'; // Return 'default' if no theme set
}

function removeTheme() {
    localStorage.removeItem('theme');
    console.log('Theme removed');
}

// Example usage
saveTheme('dark');
console.log('Current theme:', getTheme());
removeTheme();

Este ejercicio demuestra cómo usar localStorage para almacenar, recuperar y eliminar configuraciones de usuario, específicamente una preferencia de tema.

Ejercicio 3: Manejo de Datos de Sesión con sessionStorage

Objetivo: Escribir funciones para almacenar y recuperar datos de sesión sobre el recuento de visitas de la página del usuario.

Solución:

function incrementPageVisit() {
    let visits = parseInt(sessionStorage.getItem('visitCount')) || 0;
    visits++;
    sessionStorage.setItem('visitCount', visits);
    console.log(`Visit count updated: ${visits}`);
}

function getPageVisits() {
    return sessionStorage.getItem('visitCount') || 0;
}

// Example usage
incrementPageVisit();
console.log(`Page visits: ${getPageVisits()}`);

Este ejercicio muestra cómo gestionar datos específicos de la sesión utilizando sessionStorage, rastreando el número de veces que un usuario visita una página durante una sesión.

Ejercicio 4: Manipulando el Historial con la API de Historial

Objetivo: Implementar una función que navegue al usuario de regreso a la página de inicio utilizando la API de Historial después de modificar las entradas del historial.

Solución:

function navigateHome() {
    history.pushState({ page: 'homepage' }, 'homepage', '/home');
    history.go(); // Navigates to the new state
    console.log('Navigation to homepage triggered');
}

// Trigger the navigation
navigateHome();

Esta función utiliza la API de Historial para agregar programáticamente una nueva entrada de historial para la página de inicio y luego navega a ella. Esto es útil en aplicaciones de una sola página donde necesitas gestionar el historial de navegación manualmente.

Estos ejercicios están diseñados para ayudarte a practicar y entender el uso de varias APIs web e interfaces cubiertas en el Capítulo 7. Al completar estos ejercicios, deberías obtener una comprensión práctica de cómo integrar estas APIs en aplicaciones web, mejorando su funcionalidad e interactividad.

7.5 Ejercicios Prácticos para el Capítulo 7: APIs e Interfaces Web

Para solidificar tu comprensión de las APIs web discutidas en el Capítulo 7, esta sección proporciona ejercicios prácticos que se centran en implementar y usar estas tecnologías en escenarios del mundo real. Cada ejercicio incluye una explicación detallada y el código de solución, ayudándote a aplicar lo que has aprendido de manera efectiva.

Ejercicio 1: Usando la Fetch API

Objetivo: Escribir una función utilizando la Fetch API para recuperar datos de usuario de una API pública y registrar los nombres de usuario en la consola.

Solución:

function fetchUserData() {
    fetch('<https://jsonplaceholder.typicode.com/users>')
        .then(response => {
            if (!response.ok) {
                throw new Error('Network response was not ok');
            }
            return response.json();
        })
        .then(users => {
            users.forEach(user => {
                console.log(user.name);
            });
        })
        .catch(error => {
            console.error('Fetch error:', error);
        });
}

fetchUserData();

Esta función realiza una solicitud GET a una API pública que devuelve una lista de usuarios. Procesa la respuesta JSON para extraer y registrar el nombre de cada usuario.

Ejercicio 2: Implementando localStorage

Objetivo: Crear funciones para guardar, recuperar y eliminar una configuración de tema en localStorage.

Solución:

function saveTheme(theme) {
    localStorage.setItem('theme', theme);
    console.log('Theme saved:', theme);
}

function getTheme() {
    return localStorage.getItem('theme') || 'default'; // Return 'default' if no theme set
}

function removeTheme() {
    localStorage.removeItem('theme');
    console.log('Theme removed');
}

// Example usage
saveTheme('dark');
console.log('Current theme:', getTheme());
removeTheme();

Este ejercicio demuestra cómo usar localStorage para almacenar, recuperar y eliminar configuraciones de usuario, específicamente una preferencia de tema.

Ejercicio 3: Manejo de Datos de Sesión con sessionStorage

Objetivo: Escribir funciones para almacenar y recuperar datos de sesión sobre el recuento de visitas de la página del usuario.

Solución:

function incrementPageVisit() {
    let visits = parseInt(sessionStorage.getItem('visitCount')) || 0;
    visits++;
    sessionStorage.setItem('visitCount', visits);
    console.log(`Visit count updated: ${visits}`);
}

function getPageVisits() {
    return sessionStorage.getItem('visitCount') || 0;
}

// Example usage
incrementPageVisit();
console.log(`Page visits: ${getPageVisits()}`);

Este ejercicio muestra cómo gestionar datos específicos de la sesión utilizando sessionStorage, rastreando el número de veces que un usuario visita una página durante una sesión.

Ejercicio 4: Manipulando el Historial con la API de Historial

Objetivo: Implementar una función que navegue al usuario de regreso a la página de inicio utilizando la API de Historial después de modificar las entradas del historial.

Solución:

function navigateHome() {
    history.pushState({ page: 'homepage' }, 'homepage', '/home');
    history.go(); // Navigates to the new state
    console.log('Navigation to homepage triggered');
}

// Trigger the navigation
navigateHome();

Esta función utiliza la API de Historial para agregar programáticamente una nueva entrada de historial para la página de inicio y luego navega a ella. Esto es útil en aplicaciones de una sola página donde necesitas gestionar el historial de navegación manualmente.

Estos ejercicios están diseñados para ayudarte a practicar y entender el uso de varias APIs web e interfaces cubiertas en el Capítulo 7. Al completar estos ejercicios, deberías obtener una comprensión práctica de cómo integrar estas APIs en aplicaciones web, mejorando su funcionalidad e interactividad.