问题描述
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,}
}
我可以在sprite
变量声明之后执行以下操作:
Object.assign(sprite.configs,props.filters);
如果一个对象中有许多道具,并且JS允许在变量声明期间实现这种分配以消除多余的后处理,这将非常方便。
解决方法
您可以使用spread operator在sprite变量中“传播”道具的值。
const props = {
filters: {
brightness: 0,opacity: 1,}
};
const sprite = {
configs: {
image: 'pic.png',...props.filters,}
};
console.log(sprite);