刚刚创建对象的javascript访问属性

刚刚创建对象的javascript访问属性,javascript,object,Javascript,Object,我想使用刚刚使用object literal创建的同一对象的另一个属性初始化该对象的属性: var result = { a : 1, b : a }; 结果应该是 { a:1, b:1 } 有没有办法不用先创建对象就可以做到这一点?使用某种方法?您可以通过函数来实现 var结果={ 答:1,, getResult:function(){ 返回{ 答:1,, b:这个 } } }; console.log(result.getResult())您可以使用Ob

我想使用刚刚使用object literal创建的同一对象的另一个属性初始化该对象的属性:

var result = {
    a : 1,
    b : a
};
结果应该是

{
    a:1,
    b:1
}

有没有办法不用先创建对象就可以做到这一点?使用某种方法?

您可以通过函数来实现

var结果={
答:1,,
getResult:function(){
返回{
答:1,,
b:这个
}
}
};

console.log(result.getResult())
您可以使用
Object.defineProperty
获得特定属性的getter

var myObject={};
Object.defineProperty(
我的对象,
“b”{
get:function(){
还这个
}
}
);
myObject.a=1;

log(myObject.b)
可以先将属性存储在变量中

var x=1;
var结果={
a:x,
b:x
};
控制台日志(结果)选项1:使用
函数
而不是对象文本,允许
let result=function(){
这个.a=1,
this.b=this.a;
};
设res=新结果()

console.log(res.b)
谢谢,但我想要的是文字解决方案,而不是动态解决方案。很高兴了解自定义getter。谢谢,但我希望文字解决方案不是动态的。谢谢,但我希望文字解决方案不是动态的。很高兴了解自定义getter。选项B是一个字面上的解决方案。谢谢。这是选择的解决方案,但我仍在等待有人揭示特殊的“字面意义”。您对
result.a++的预期行为是什么;console.log(result.b)
-输出
1
2
?或者换句话说,您希望
result.b
result.a
有一个引用,还是仅仅是
result.a
的初始值?