Проблема с назначением свойств объекта JavaScript - PullRequest
1 голос
/ 09 февраля 2011

Есть ли способ назначить свойство объекта, как груша ниже? (пример не работает)

var fruitColors = { apple: "green", pear: fruitColors.apple};

Однако я могу добиться этого, но я бы хотел сделать это, как описано выше, если это возможно.

var fruitColors = { apple: "green" };
fruitColors.pear = fruitColors.apple;

Ответы [ 2 ]

1 голос
/ 09 февраля 2011

Не думаю, что вы можете - поскольку объект fruitColors не существует в то время, когда вы пытаетесь получить доступ к его свойству.

1 голос
/ 09 февраля 2011

Вы не можете сделать это во время инициализации.Вы можете сделать конструктор, если хотите, но не уверены, что оно того стоит.

function FruitColors() {
    this.apple = "green";
    this.pear = this.apple;
}

var fruitColors = new FruitColors;

или в более новых реализациях вы можете использовать синтаксис get, чтобы сделать pear ссылку apple:

var fruitColors = { 
    apple: "green",
    get pear() { return this.apple; }
}

, но это не широко поддерживается в браузерах, если это ваша цель.

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