Не могу удалить элемент объекта, созданный конструктором

61
08 декабря 2021, 12:40

Никак не получается удалить элемент объекта, созданный конструктором. Почему так происходит?

Код:

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);

Answer 1
order.deleteProduct("burger");

или

deleteProduct(product){
  for (var key in this) {
    if (this[key] == product) {
      delete this[key];
      break;
    }
  }
  return this;
}
READ ALSO
Передать значение в input

Передать значение в input

Есть для примера следующая форма для заявки:

260
Плавная смена источника фото на jQuery

Плавная смена источника фото на jQuery

Есть примерно следующий код, реализующий смену картинки при наведении на определенный блокПри этом картинка меняется резко

154
Обмен информацией по USB

Обмен информацией по USB

У меня следующая проблема - Настраиваю соединение по USB между терминалом и устройством android, соединение устанавливается если его настраивать...

189