首页 > 解决方案 > 如何在JS中做REAL对象赋值(浅拷贝)

问题描述

在 JS 中,我需要制作一个对象的浅拷贝。似乎Object.assign()是唯一的选择。这是真的吗,还是有其他方法?我更喜欢在赋值中执行它的句法方法(这将是一个表达式而不是一个语句)。要替换的东西(*1*)

var a = { x:1978 }; b = a; c = { x:2001 }; [ b ] = [ (*1*) ]
/* I need (a === b) && (b.x === c.x) to hold here */

标签: javascript

解决方案


总是有传播语法,可用于对象和其他事物:

b = {...b, ...c}

(作为 Object.assign() 的替代方法)


推荐阅读