JSON.parse(JSON.stringify(obj))
_.cloneDeep()
키 포인트
let zoo = { name: "Amazing Zoo", location: "Melbourne, Australia", animals: [ { species: "Lion", favoriteTreat: "?", }, { species: "Panda", favoriteTreat: "?", }, ], }; let shallowCopyZoo = { ...zoo }; shallowCopyZoo.animals[0].favoriteTreat = "?"; console.log(zoo.animals[0].favoriteTreat); // "?",而不是 "?"
딥 카피 <🎜 🎜> 딥 카피는 기존 객체의 정확한 사본 인 새 개체를 만드는 트릭입니다. 여기에는 참조가 아닌 모든 속성과 중첩 된 객체를 복사하는 것이 포함됩니다. 딥 클로닝은 참조를 공유하지 않는 두 개의 개별 객체가 필요할 때 유용하여 한 객체의 변경이 다른 객체에 영향을 미치지 않도록합니다.
의 경우
및를 사용하는 방법
JSON.stringify()
<<> 메소드는 완벽하지 않습니다. 예를 들어, JSON.parse()
와 같은 특수 데이터 유형은 문자열로 변환되며 정의되지 않은 값은 무시됩니다. 이 기사의 모든 옵션과 마찬가지로 특정 사용 사례를 기반으로 고려해야합니다. 다음 코드에서는이 메소드를 사용하여 <p> 기능을 만들어 객체를 깊이 복제합니다. 그런 다음 <<> 객체를 복사하고 원래 객체에 영향을 미치지 않고 복사 된 객체를 수정합니다. 이것은 참조를 공유하지 않는 독립적 인 객체를 유지하는 데있어 깊은 복제의 값을 보여줍니다. <code>JSON.stringify()
JSON.parse()
<🎜 🎜> lodash 라이브러리의 parse(stringify())
기능은 루프 참조, 기능 및 특수 객체를 올바르게 처리 할 수 있습니다. Date
Immer 라이브러리는 React-Redux 개발자를 위해 구축되었으며 객체를 수정하기위한 편리한 도구를 제공합니다. deepCopy
playerProfile
바닐라 js 딥 카피 함수 <🎜 🎜>
console.log(zoo.animals === shallowCopyZoo.animals) // true console.log(zoo === shallowCopyZoo) // false
Date
RegExp
JSON.parse(JSON.stringify(obj))
_.cloneDeep()
위 내용은 얕은 대 JavaScript의 깊은 복사의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!