简单理解 深拷贝和浅拷贝
在 JS 中普通的赋值基本都是浅拷贝,无论多少份拷贝,他们都继承原变量的属性,因为“浅”在于是值的引用,指向的是同一个栈地址.实际应用中,有时候调回的接口数据想 copy 多一份出来修改,如果是普通的(浅)拷贝,会同时修改所有引用的值.如果只想修改拷贝的值而不影响其他变量,需要使用深拷贝.
浅拷贝:
1 | let a = [1,2,3,4] |
深拷贝网上很多好的实践就不贴了…
在 JS 中普通的赋值基本都是浅拷贝,无论多少份拷贝,他们都继承原变量的属性,因为“浅”在于是值的引用,指向的是同一个栈地址.实际应用中,有时候调回的接口数据想 copy 多一份出来修改,如果是普通的(浅)拷贝,会同时修改所有引用的值.如果只想修改拷贝的值而不影响其他变量,需要使用深拷贝.
浅拷贝:
1 | let a = [1,2,3,4] |
深拷贝网上很多好的实践就不贴了…