@TrustyWork

Как писать более правильно?

Один из этих примеров я показывал своему ученику, преднамеренно не буду говорить какой.
В ответ услышал "а мне 4 сениора говорили что я все делаю правильно".
Прошу тостер о независимом мнении, дабы спасти неофита от пути говнокодера.

var hp = 100;
function damage( point){
     hp = hp - point;
}

damage( 100);
console.log( hp);


Или

var ship = {
    hp: { cur: 100, max: 100},
    damage: function( point){
        this.hp.cur = this.hp.cur - point;
        return this.hp;
    }
}

var hp = ship.damage( 10);
console.log( hp);
  • Вопрос задан
  • 373 просмотра
Решения вопроса 1
@bromzh
Drugs-driven development
Лучше сразу приучать к новому синтаксису es6 (классы, let/const):
export class Human {
    constructor({ hp }) {
        this.hp = {
            current: hp,
            max: hp,
        };
    }

    damage(point) {
        this.hp.current -= point;
    }
}
let human = new Human({ hp: 100 });
human.damage(10);
console.log(human.hp.current);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
fr_end
@fr_end
Frontend разработчик
В таком маленьком, изолированном от реальности примере невозможно определить. По мне так оба способа неправильные, объект ship лучше создавать через оператор new.
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы