Javascript:将对象赋值给变量

Javascript: assign object to variable

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

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 允许在变量声明时实现这样的赋值,以消除冗余的 post 处理。

您可以使用 spread operator 来“散布” sprite 变量中的道具值。

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

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

console.log(sprite);