与其他对象参数在同一对象中使用的对象参数?

时间:2019-11-13 03:21:01

标签: javascript object properties

快速简单的新手问题-是否可以在其他对象参数中使用对象参数(但它是同一对象)?

var obj = {
  a : 'a',
  b : 'b',
  ab : 'Our new parameter: ' + (obj.a + obj.b) + 'is presented!',
  test : obj.ab
}

console.log(obj.ab);

所以当我调用obj.ab时对象尚未准备就绪-知道如何处理吗? obj 现在是全局对象,其余代码都使用了大量的obj.ab-我不希望进行重大更改,有任何简单的想法吗?

1 个答案:

答案 0 :(得分:1)

您可能想简单地转换为函数ab并通过this访问对象属性。

var obj = {
  a : 'a',
  b : 'b',
  ab : () => 'Our new parameter: ' + (this.obj.a + this.obj.b) + 'is presented!',
  test : () => this.obj.ab
};

console.log(obj.ab());
console.log(obj.test());

// ab: () => is an arrow function
// test: () => is also an arrow function