라이브러리
[JAVASCRIPT] structuredClone(obj) - 객체를 깊은 복사(Deep Copy)하여 새로운 객체 생성
structuredClone() 함수
structuredClone() 함수는 JavaScript 에서 객체를 복사하는 데 사용되는 함수입니다. 이 함수는 객체의 속성을 복사하는 데 사용되며, 객체의 참조를 복사하는 대신 실제 객체를 복사합니다. 이는 객체의 속성을 변경할 때 원본 객체에 영향을 미치지 않도록 합니다.
structuredClone() 함수의 특징
- 객체의 속성을 복사 : structuredClone() 함수는 객체의 속성을 복사하는 데 사용됩니다. 이는 객체의 참조를 복사하는 대신 실제 객체를 복사합니다.
- 원본 객체에 영향을 미치지 않음 : 객체의 속성을 변경할 때 원본 객체에 영향을 미치지 않습니다.
- 객체의 타입을 유지 : structuredClone() 함수는 객체의 타입을 유지합니다. 예를 들어, 객체의 속성이 배열이면 복사된 객체의 속성도 배열이 됩니다.
structuredClone() 함수의 예제
위 예제에서, structuredClone() 함수를 사용하여 원본 객체를 복사한 후 원본 객체의 속성을 변경했습니다. 복사된 객체의 속성을 출력했을 때 원본 객체의 속성이 변경되지 않은 것을 볼 수 있습니다.
structuredClone() 함수의 사용 사례
- 객체의 속성을 변경할 때 원본 객체에 영향을 미치지 않기 위해 : structuredClone() 함수를 사용하여 객체를 복사한 후 원본 객체의 속성을 변경할 수 있습니다.
- 객체의 타입을 유지하기 위해 : structuredClone() 함수를 사용하여 객체를 복사한 후 객체의 타입을 유지할 수 있습니다.
structuredClone() 함수의 제한 사항
- 원본 객체의 속성이 불변 객체일 때 : structuredClone() 함수는 불변 객체의 속성을 복사할 수 없습니다. 예를 들어, 원본 객체의 속성이 Immutable.js의 Map 인 경우 structuredClone() 함수를 사용하여 복사할 수 없습니다.
- 원본 객체의 속성이 Proxy 객체일 때 : structuredClone() 함수는 Proxy 객체의 속성을 복사할 수 없습니다. 예를 들어, 원본 객체의 속성이 Proxy 객체 인 경우 structuredClone() 함수를 사용하여 복사할 수 없습니다.
-
- 나우호스팅 @pcs8404
-
호스팅포럼 화이팅!
댓글목록
등록된 댓글이 없습니다.