Я создал два класса: jsCart, представляющий корзину магазина, и jsProduct, представляющий продукт.
jsCart должен иметь объект как свойство для хранения экземпляров jsProduct.
My Вопрос в том, как добавить экземпляры jsProduct к этому свойству объекта jsCart.
Это jsCart (соответствующие биты)
class jsCart {
constructor() {
this.products = {};
this.sum = 0;
}
set _products(product) {
this.products[product.id] = product;
}
remove(id) {
delete this.products[id];
}
updateSum() {
for (var product in this.products) {
this.sum += this.products[product]['sum'];
}
}
}
И jsProduct (соответствующие биты):
class jsProduct {
constructor(id, price, quantity) {
this.id = id;
this.price = price;
this.quantity = quantity;
this.sum = this.price * this.quantity;
}
set _quantity(n) {
this.quantity = n;
this.sum = this.price * this.quantity;
}
}
И моя попытка добавить продукт в корзину:
jsCart._products = new jsProduct('bananas',23,1);
Кажется, это работает, но когда я пытаюсь добавить другой продукт, если я правильно использую консоль chrome, кажется, так как он перезаписывает первый:
Возможно ли, что я должен использовать геттер, чтобы увидеть содержимое .products? или что-то про сеттер или как я его использую?
Спасибо