Задать вопрос
@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);
  • Вопрос задан
  • 378 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 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.
Ответ написан
Ваш ответ на вопрос

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

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