1 使用 Object.assign
- // 浅拷贝
- let obj = {name: 'a'}
- let obj2 = Object.assign({},obj)
- obj2.name = 'b'
- console.log(obj) // {name: 'a'}
- console.log(obj2) //{name: 'b'}
2 使用 rest
- // 浅拷贝
- let obj = {
- name: 'a'
- }
- let obj2 = [...obj]
- obj2.name = 'b'
- console.log(obj) // {name: 'a'}
- console.log(obj2) //{name: 'b'}
3 深拷贝
- let deepCpty = (data) => {
- return JSON.parse(JSON.stringify(data))
- }
- let obj = {
- name: 'a',
- stu: {
- age: 10
- }
- }
- let obj2 = deepCopy(obj)
- obj2.stu.age = 20
- console.log(obj) //{name: 'a',stu: {age: 10}}
- console.log(obj2) //{name: 'a',stu: {age: 20}}
来源: http://www.qdfuns.com/article/42435/aa46df46e0024e3f853680933a505972.html