
structuredClone(obj) 함수는 객체의 복사본을 생성하는 데 사용할 수 있습니다. 이 함수는 객체의 모든 속성을 복사합니다.
structuredClone(obj) 함수가 생성하는 복사본은 실제 객체와 연결된 하위 객체를 참조합니다.
이러한 복사본을 수정하면 실제 객체도 함께 수정됩니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.b.c = 3; 문장을 실행하면, obj.b.c 또한 3이 됩니다.
structuredClone(obj) 함수는 객체의 모든 속성을 복사합니다. 하지만, 이 함수는 객체의 속성이 함수일 경우, 함수를 호출하는 참조를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.a(); 문장을 실행하면, Hello, World!가 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Symbol일 경우, Symbol을 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[Symbol('a')]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Proxy일 경우, Proxy를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.get; 문장을 실행하면, get가 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 WeakRef일 경우, WeakRef를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.deref(); 문장을 실행하면, { a: 1 }이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Map일 경우, Map을 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.get('a'); 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Set일 경우, Set을 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.has(1); 문장을 실행하면, true가 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 ArrayBuffer일 경우, ArrayBuffer를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.byteLength; 문장을 실행하면, 8이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 DataView일 경우, DataView를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone.byteLength; 문장을 실행하면, 8이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 TypedArray일 경우, TypedArray를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 BigIntArray일 경우, BigIntArray를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1n이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Float32Array일 경우, Float32Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1.0이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Float64Array일 경우, Float64Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1.0이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Int8Array일 경우, Int8Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Uint8Array일 경우, Uint8Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Uint8ClampedArray일 경우, Uint8ClampedArray를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Int16Array일 경우, Int16Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Uint16Array일 경우, Uint16Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Int32Array일 경우, Int32Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
위 코드에서, clone[0]; 문장을 실행하면, 1이 출력됩니다.
structuredClone(obj) 함수는 객체의 속성이 Uint32Array일 경우, Uint32Array를 복사합니다.
예를 들어, 다음 코드를 살펴보겠습니다.
```javascript
const obj = new Uint32Array([1, 2, 3]);
const clone = structuredClone(obj);
console.log(clone[0]); //
2025-03-05 10:22