Saltar al contenido

Proyecto: carrito de compras

JavaScript · Unidad 14: Clases modernas

Vas a armar un carrito de compras. Guarda sus líneas en un campo privado, para que nadie le meta mano por fuera, y responde con propiedades calculadas: cuántas piezas lleva y cuánto se paga.

Esta es la base, con agregar y piezas ya escritos:

class Carrito {
  #items = [];
  agregar(precio, cant) {
    const linea = {
      precio: precio,
      cant: cant,
    };
    this.#items.push(linea);
  }
  get piezas() {
    let n = 0;
    for (const i of this.#items) {
      n += i.cant;
    }
    return n;
  }
}
const c = new Carrito();
c.agregar(12, 3);
console.log(c.piezas);

Imprime

3

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Completa el código

    Completa la clase, para que las líneas queden privadas y piezas se use sin paréntesis.

  2. 2. Escribe el código

    Escribe get total(): lo que se paga por todo el carrito, o sea el precio por la cantidad de cada línea, sumado. Un carrito sin líneas cuesta 0. La función comprar de abajo ya está lista y sirve para probarlo.

  3. 3. Escribe el código

    El carrito guardado vuelve como texto. Escribe static cargar(texto): arma un Carrito nuevo y le agrega una línea por cada objeto del JSON, con su precio y su cant. Regresa ese carrito. La función viaje de abajo guarda uno y lo vuelve a cargar.

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →