Дом, который построил Кекс ,28/28 Оцените код?


#1

Тут много слухов про методы какие то в обсуждениях ходило…

var materialPrice = {
      'wood': 1000,
      'stone': 1500,
      'brick': 2000
    };

    var house = {
      sum: 0,
      rooms: 10,
      floors: 5,
      material: 'wood',
      coefficient: 10.5,
      calculateSquare: function() {
        sum = this.rooms * this.coefficient * this.floors;
        return sum;
        },
      calculatePrice: function() {
        return sum * materialPrice[this.material];//10*2000
        }
    };

#2

Свойство sum в house со значением 0 абсолютно ни на что не влияет, да и переменную sum, объявленную не явно, в 1 функции можно убрать, сделав возврат сразу готового значения выражения. А во 2 функции заменить sum на вызов this.alculateSquare().

Код
var house = {
      rooms: 10,
      floors: 5,
      material: 'wood',
      coefficient: 10.5,
      calculateSquare: function() {
        return this.rooms * this.coefficient * this.floors;
        },
      calculatePrice: function() {
        return this.calculateSquare() * materialPrice[this.material];//10*2000
        }
    };