Object.assign方法用于对象合并,将所有源对象可枚举属性复制到目标对象。目标对象为第一个参数,源对象为后续参数。目标与源同名属性,或多个源有同名属性,后面的覆盖前面的。若目标对象非对象,先转成对象再合并。undefined和null无法转为对象,作为参数会报错。非对象参数不在源位置时,转成对象,如果无法转则跳过,不会报错。数值、字符串、布尔值转成包装对象,仅字符串的包装对象产生可枚举属性被复制。Object.assign只拷贝自身属性,不拷贝继承属性,也不拷贝不可枚举属性。处理嵌套对象时,只替换同名属性,而非添加。某些库提供定制版Object.assign,解决浅拷贝问题,实现深拷贝。Object.assign能用于处理数组,但视数组为对象,导致覆盖行为。常见用途包括为对象添加属性、方法,克隆对象,合并多个对象,以及为属性指定默认值。注意浅拷贝特性,避免深层对象的引用复制。合并多个对象时,推荐使用空对象作为目标,确保返回新对象。为属性指定默认值时,确保值为简单类型,避免深层引用导致的问题。