娄底市网站建设,网站设计哪家公司好,凉山州城乡规划建设局网站,百度收录量首先深拷贝与浅拷贝 只针对Object 和Array这样的引用数据类型 所以基本数据类型不用考虑了
等号赋值
基本数据类型
对于基本数据类型#xff0c;就会创建一个新的变量#xff0c;并将原变量的值复制给新变量。 这是基于变量是存储在栈内存中的特点。简单来说#xff0c;等…首先深拷贝与浅拷贝 只针对Object 和Array这样的引用数据类型 所以基本数据类型不用考虑了
等号赋值
基本数据类型
对于基本数据类型就会创建一个新的变量并将原变量的值复制给新变量。 这是基于变量是存储在栈内存中的特点。简单来说等号赋值只是简单地将右边的值复制给左边的变量它们之间是独立的。
引用类型
本质上是将对象的指针复制给另一个对象不复制对象本身还是公用内存就是牵一发动全身
let name [slx,ling]
let name2 name
name2[0] ssss
console.log(name2,name2);
console.log(name,name);浅拷贝
浅拷贝是一种复制对象的方法它会复制对象的引用而不是对象本身。也就是说浅拷贝会创建一个新对象但新对象中的属性仍然指向原对象的地址。因此如果修改新对象中的属性原对象也会受到影响。浅拷贝只复制了对象的第一层属性而不会递归复制嵌套的对象。
深拷贝
深拷贝是一种复制对象的方法它会递归地复制所有层级的属性创建一个完全独立的新对象。深拷贝不仅复制了对象本身还会复制对象内部的所有嵌套对象和属性。这意味着深拷贝后的对象和原对象是完全独立的互相之间不会有任何关联。