Вот пример самого простого, что пришло в голову. В JS нет интерфейсов (ts не брать), абстрактных классов из которых, можно было нормально спроектировать сущности.
class entity {
isDead = false;
heals = 100;
damage = 10;
strike(entity, damage) {
if (!this.isDead) {
entity.heals -= damage;
if (entity.heals <= 0) {
this.isDead = true
console.log(entity, 'is dead');
}
}
}
}
class heroEntity extends entity {
heals = 150;
damage = 15;
}
class mobEntity extends entity {
}
const hero = new heroEntity(),
mob = new mobEntity();
hero.strike(mob, 100); // mobEntity {isDead: false, heals: 0, damage: 10} "is dead"
PS классы нужны для создания сложных структур данных и с ними удобнее