关于深拷贝

来源:4-3 手写 JS 深拷贝

shuangq

2020-10-14

for (let key in obj) {
		// 保证key不是原型的属性
		if (obj.hasOwnProperty(key)) {
			// 递归调用 !!
			result[key] = deepClone(obj[key]) 
		}
}

// 保证key不是原型的属性还是不太理解
const obj1 = {
	age: 20,
	name: 'xxx',
	address: {
			city: 'beijing'
	},
	arr: ['a', 'b', 'c']
}

这个对象的原型是Object,也就是不会拷贝Object里的属性,这样做是为了拷贝少点,提高效率的意思吗?

写回答

1回答

双越

2020-10-14

拷贝时,不应该拷贝原型里的属性,所以用 hasOwnProperty 判断。

0
2
双越
回复
慕粉3858957
深拷贝,拷贝的是数据,不是函数和方法。
2021-03-09
共2条回复

一天时间高效准备前端技术一面 匹配大厂面试要求

针对时下面试高频考点,帮助新人js面试快速通关

4694 学习 · 1681 问题

查看课程