Создать экземпляр с новым, с вложенными объектами в качестве аргументов - PullRequest
0 голосов
/ 07 февраля 2019

Я хочу создать экземпляр объекта Player, который как экземпляр объекта Weapon вложен в него.

Например, player1 должен начать игру с кинжалом .

Я пробовал разные вещи, но вложенный объект (оружие) отсутствует в экземпляре игрока.

function Weapon(name, damage) {
  this.name = name;
  this.damage = damage;
}

function Player(name, life) {
  this.name = name;
  this.life = life;

  this.weapon = {
    name: name,
    damage: damage
  };
}

const player1 = new Player("Joueur 1", 100, dagger);

const dagger = new Weapon("Dague", 5);
const sword = new Weapon("Epée", 10);
const axe = new Weapon("Hache", 15);
const flail = new Weapon("Fléau", 20);

Каков правильный синтаксис для добавления этого оружия в качестве вложенного объекта?

Кроме того, оружие может меняться во время игры.

1 Ответ

0 голосов
/ 07 февраля 2019

Я думаю, что вы ищете что-то вроде этого, в настоящее время вы пытаетесь передать параметр, но конструктор не ожидает этого.Я привел 2 примера того, как вы могли бы достичь этого.

function Weapon(name, damage) {
  this.name = name;
  this.damage = damage;
}

function Player(name, life, weapon) {
  this.name = name;
  this.life = life;

  this.weapon = weapon;
}

const dagger = new Weapon("Dague", 5);
const player1 = new Player("Joueur 1", 100, dagger);

const player2 = new Player("Joueur 1", 100, new Weapon("Dague", 5));

console.log(player1);
console.log(player2);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...