Задать вопрос
vovvkka
@vovvkka

Как использовать статические свойства класса?

Здравствуйте, нужно добавить в этот класс статические свойства класса, раньше никогда их не использовал, прошу помочь).
Сделать с помощью "статических" свойств класса:
new Hamburger(Hamburger.SMALL, Hamburger.TOPPING_CHEESE);

Также есть ссылка на код: Клик

class Hamburger {
    constructor(public size: string, public filling: string) {}

    getFillingPrice(sizePrice: number) {
        if (this.filling.toLowerCase() === 'cheese') {
                return 15 + sizePrice; // Стоимость начинки + стоимость бургера.
            } else if (this.filling.toLowerCase() === 'salad') {
                return 5 + sizePrice;
            } else if (this.filling.toLowerCase() === 'fries') {
                return 10 + sizePrice;
            } else {
                return 'Неккоректная начинка.'
            }
    }

    getPrice() {
        if (this.size.toLowerCase() === 'small') {
            return this.getFillingPrice(60);
        } else if (this.size.toLowerCase() === 'big'){
            return this.getFillingPrice(80);
        } else {
            return 'Неккоректный размер гамбургера.';
        }
    }

    getFillingCalories(sizeCalories: number) {
         if (this.filling.toLowerCase() === 'cheese') {
                return 50 + sizeCalories; // Калории начинки + калории самого бургера.
            } else if (this.filling.toLowerCase() === 'salad') {
                return 5 + sizeCalories;
            } else if (this.filling.toLowerCase() === 'fries') {
                return 25 + sizeCalories;
            } else {
                return 'Неккоректная начинка.'
            }
    }

    getCalories() {
        if (this.size.toLowerCase() === 'small') {
            return this.getFillingCalories(200);
        } else if (this.size.toLowerCase() === 'big'){
            return this.getFillingCalories(300);
        } else if (typeof this.size === 'number'){
            return 'Размер гамбургера не может быть числом.'
        } else {
            return 'Неккоректный размер гамбургера.';
        }
    }
}

const cheeseBurger = new Hamburger('BIG', 'cheese');
console.log(cheeseBurger.getPrice())
console.log(cheeseBurger.getCalories())
  • Вопрос задан
  • 76 просмотров
Подписаться 1 Простой Комментировать
Решения вопроса 1
sergiks
@sergiks Куратор тега JavaScript
♬♬
Статические свойства и методы

class Hamburger {
  static SMALL = 'small';
  static TOPPING_CHEESE = 'cheese';

  // ...
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы