js深浅拷贝的区别

简介: js深浅拷贝的区别

JavaScript中深拷贝和浅拷贝的区别如下:

  • 浅拷贝。有两种方式,一种是把一个对象里面的所有的属性值和方法都复制给另一个对象,另一种是直接把一个对象赋给另一个对象,使得两个都指向同一个对象。对对象里面的对象属性和数组属性只是复制了地址,并没有创建新的相同对象或者数组。
  • 深拷贝。把一个对象的属性和方法一个个找出来,在另一个对象中开辟对应的空间,一个个存储到另一个对象中。是完完全全的复制一份,空间大小占用一样但是位置不同

JS中常用的深浅拷贝方法如下:

浅拷贝:

1. Object.assign(target, ...sources)

2. Array.prototype.concat()

3. Array.prototype.slice()

深拷贝:

1. JSON.parse(JSON.stringify(obj))

2. Lodash库的_.cloneDeep()方法

相关文章
|
1月前
|
前端开发 JavaScript Java
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
Java与JavaScript的区别与联系:有人的地方就有江湖,有浏览器的地方就有JavaScript
103 0
|
22小时前
|
JavaScript 前端开发 开发者
【JavaScript】JavaScript中call、apply与bind的区别:进阶特性与应用场景
【JavaScript】JavaScript中call、apply与bind的区别:进阶特性与应用场景
4 0
|
1天前
|
JavaScript 前端开发 安全
JS 严格模式和正常模式的区别
JS 严格模式和正常模式的区别
|
1天前
|
JavaScript 前端开发 索引
JS中的substr()和substring()函数有什么区别
JS中的substr()和substring()函数有什么区别
|
15天前
|
JavaScript 前端开发 Java
Java和JavaScript区别与联系
Java和JavaScript区别与联系
11 0
|
25天前
|
JavaScript 前端开发 索引
JavaScript与Object C的区别
JavaScript与Object C的区别
11 1
|
29天前
|
前端开发 JavaScript
前端 JS 经典:typeof 和 instanceof 区别
前端 JS 经典:typeof 和 instanceof 区别
26 0
|
29天前
|
前端开发 JavaScript
前端 JS 经典:for-in 和 for-of 用法区别
前端 JS 经典:for-in 和 for-of 用法区别
24 0
|
1月前
|
前端开发 JavaScript
前端 JS 经典:i,i++,++i区别
前端 JS 经典:i,i++,++i区别
22 0
|
1月前
|
前端开发 JavaScript
前端 JS 经典:let、const、var 区别
前端 JS 经典:let、const、var 区别
19 0