【问题标题】:Javascript: assign object to variable [duplicate]Javascript:将对象分配给变量[重复]
【发布时间】:2021-01-01 23:38:09
【问题描述】:

我有一个具有一些属性的现有对象:

var props = {
  filters: {
    brightness: 0,
    opacity: 1,
  }
}

所以,我想在变量声明期间将此对象的filter 属性分配给另一个对象:

var sprite = {
  configs: {
    image: 'pic.png',
    // <- assign `props.filters` right here
  }
}

结果我想得到这样的对象:

{
  configs: {
    image: 'pic.png',
    brightness: 0,
    opacity: 1,
  }
}

我可以在 sprite 变量声明之后这样做:

Object.assign(sprite.configs, props.filters);

但是在变量声明期间是否可以分配另一个对象的属性?

万一一个对象有很多很多的props,JS会允许在变量声明时实现这样的赋值,以消除多余的后期处理。

【问题讨论】:

  • configs: { image: 'pic.png', ...props.filters }

标签: javascript object variables ecmascript-2016


【解决方案1】:

您可以使用spread operator 在 sprite 变量中“传播”道具的值。

const props = {
  filters: {
    brightness: 0,
    opacity: 1,
  }
};

const sprite = {
  configs: {
    image: 'pic.png',
    ...props.filters,
  }
};

console.log(sprite);

【讨论】:

  • 非常感谢,我刚刚尝试过同样的事情,但使用 {...} 花括号的方式错误!不知道为什么...
猜你喜欢
  • 2018-03-16
  • 2014-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-10-02
  • 2020-11-22
  • 1970-01-01
相关资源
最近更新 更多