【问题标题】:Is it possible to reference already defined field value during object definition?是否可以在对象定义期间引用已定义的字段值?
【发布时间】:2020-09-04 16:15:49
【问题描述】:
const message = {
  from: "abc",
  to: this.from,
}

console.log(message)

上面是极其简化的版本,其中from是通过昂贵的asyn函数调用得到的,而to实际上是is_to_exist ? use_to : use_from的形式。

是否可以避免在to 赋值中再次执行昂贵的asyn 函数调用以获取from,并在此处使用已经定义的from 值?

【问题讨论】:

  • this 不起作用,因为它不指向 message。不能先使用局部变量存储结果,然后在创建对象时引用变量吗?

标签: javascript object syntax definition


【解决方案1】:

另一种方法是使用临时局部变量,例如

const from = await someExpensiveFunction();

const message = {
    from,
    to: is_to_exist ? use_to : from,
};

console.log(message);

【讨论】:

  • 我认为这是唯一的方法,谢谢您的确认。
猜你喜欢
  • 2014-09-19
  • 1970-01-01
  • 2011-08-15
  • 1970-01-01
  • 2015-12-16
  • 1970-01-01
  • 2014-03-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多