数据类型 :

基本数据类型 : String number undefined boolean null

引用数据类型 : Array object function map set

深拷贝 :

引用数据类型 指向存储地址,浅拷贝 不能重新创建新的 空间,同样变量指向 同一空间,故一方改变 另一方 也改变。

深拷贝 本质 就是开辟新的空间 进行复制。

1. for…in…遍历实现:

// 深拷贝 基础实现
			let json = {
				name : '小明',
				age : 18
			}
			let nextJson = {}
			for(let ajson in json){
				console.log(json[ajson])
				nextJson[ajson] = json[ajson]
			}

2. 扩展运算符 …

在 es6 中 提供了 扩展运算符 … 实现数组深拷贝

// 数组 深拷贝
			let f = [1,2,3,4,5]
			let z = [...f]
			console.log(z)
// 对象深拷贝
let obj = { name : "小明" }
let obj1 = {...obj}

3. 暴力转换 JSON.prase(JSON.stringify(obj))

let obj = JSON.prase.(JSON.stringify({name : "小明"}))

4. object.assign() 对象合并(只能拷贝一层,第一个参数是空对象)

let obj0 = { name : "小明"}
let obj1 = object.assign({},obj0)

作者 译文

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注