前言
当谈及拷贝,你的第一印象会不会和我一样,ctrl c + ctrl v ... ;虽然效果和拷贝是一样的,但是你知道拷贝的原理以及它的实现方法吗?今天就让我们一起探究一下拷贝中深藏的知识点吧。
拷贝
首先来看下面一段代码;
let obj = { age: 18 } let obj2 = obj obj.age = 20 console.log(obj2.age);
上面的let obj2 = obj
这一操作能叫拷贝吗?并不能;因为这个操作只是让obj2
只是获得了 obj
的引用地址,这意味着 obj2
和 obj
指向内存中的同一个对象,而obj2
并未创建一个和obj
一样的新对象;当对象obj
身上的age
改变时,因为二者的引用地址一样,obj2.age
也会跟着变化。