Никак не получается удалить элемент объекта, созданный конструктором. Почему так происходит?
Код:
class Product {
constructor(name, size) {
this.name = name;
this.size = size;
}
getSize() {
return this.size;
}
}
class Burger extends Product {
constructor(name, size, stuffing) {
super(name, size);
this.stuffing = stuffing;
}
getStuffing() {
return this.stuffing;
}
}
class Menu {
constructor(burger, salad, drink) {
this.burger = burger;
}
orderBill() {
let burgerSizePrice =
this.burger.getSize() === "xl"
? 250
: this.burger.getSize() === "normal"
? 200
: 150;
let burgerStuffingPrice =
this.burger.getStuffing() === "xl"
? 100
: this.burger.getStuffing() === "normal"
? 80
: 50;
let result = burgerSizePrice + burgerStuffingPrice;
return result;
}
deleteProduct(product){
delete this[product];
return this;
}
}
// define product
const burger = new Burger("hamburger", "small", "onion");
// adding product to order
const order = new Menu(burger);
// total bill
console.log(order.orderBill());
// remove smth from order
order.deleteProduct(burger);
console.log(order);
order.deleteProduct("burger");
или
deleteProduct(product){
for (var key in this) {
if (this[key] == product) {
delete this[key];
break;
}
}
return this;
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Есть примерно следующий код, реализующий смену картинки при наведении на определенный блокПри этом картинка меняется резко
У меня следующая проблема - Настраиваю соединение по USB между терминалом и устройством android, соединение устанавливается если его настраивать...