有时候遇到需要复制对象,用等号赋值其实是引用对象,后面对新对象的操作会导致很多问题。
下面介绍一个深度复制Object.assign(),该方法有两个参数,第一个是接受对象,第二个是复制源。
例子:
let newObj={}
let originalObj={
id:123,
name:'obj'
}
Object.assign( newObj,originalObj )
console.log(newObj) //{id:123, name:'obj'}
newObj.name = 'newName'
console.log(newObj,originalObj){id:123, name:'newName'},{id:123, name:'obj'}
newObj的改变并不会影响originalObj,搞定
网友评论