Javascript 在JS中,有没有一种方法(或建议)在分配给对象时返回该对象?

Javascript 在JS中,有没有一种方法(或建议)在分配给对象时返回该对象?,javascript,tc39,Javascript,Tc39,我想,我在过去的某个地方见过它,但我找不到它。 那么,有没有写作的方法 myObject.x=0,myObject不带逗号运算符 我主要将其用于重现: const arr = [{key: 'width', value:15}, {key: 'height', value:30}] const obj = arr.reduce((acc, {key, value}) => (acc[key] = value, acc), {}) 我知道,可以选择添加一个polyfill或函数,但我正在寻

我想,我在过去的某个地方见过它,但我找不到它。 那么,有没有写作的方法
myObject.x=0,myObject
不带逗号运算符

我主要将其用于重现:

const arr = [{key: 'width', value:15}, {key: 'height', value:30}]
const obj = arr.reduce((acc, {key, value}) => (acc[key] = value, acc), {})
我知道,可以选择添加一个polyfill或函数,但我正在寻找正式的解决方案(没有spread
({…acc[key]:value})

我可以想象帕斯卡符号
obj.x:=1
,或者使其行为类似于串联

也许有这样的建议?

您可以使用它获取目标、源并返回目标

const
arr=[{key:'width',value:15},{key:'height',value:30}],
obj=arr.reduce(
(acc,{key,value})=>Object.assign(acc,{[key]:value}),
{}
);

控制台日志(obj)我不知道。另外,我认为它的用途非常有限。顺便说一句:
Object.fromEntries(arr.map(it=>[it.key,it.value]))
但它在效果上与使用Spread不一样吗?也就是说,它每次都创建新对象?它保持相同的对象引用。我用一个(外部)对象作为起始值添加了一个证明。哦,好吧,这是我不知道的,谢谢你的支持