在{}对象创建中引用其他属性

Nic*_*ick 1 javascript object

可能重复:
对象文字声明中的自引用

我该怎么做:

var object = {
    alpha: 'one',
    beta: **alpha's value**
}
Run Code Online (Sandbox Code Playgroud)

没有将对象创建分为两部分?

Mat*_*hen 7

你不能,如上所述.最接近的等价物是:

var object = new (function()
{
    this.alpha = 'one';
    this.beta = this.alpha;
})();
Run Code Online (Sandbox Code Playgroud)

这使用从匿名函数创建的单例实例.您也可以使用声明私有字段var.


Nic*_*ver 6

你不能,对象文字语法只是不支持这个,你必须首先创建一个变量,然后将它用于两者,如下所示:

var value = 'one';
var object = {
  alpha: value,
  beta: value
};
Run Code Online (Sandbox Code Playgroud)

或者......完全不同的东西,但是你alpha做的时候不能引用beta,因为这两个属性都没有被创建,直到对象语句作为一个整体运行才可以访问.