Object.create vs Object.assign
Chapter 18 - Object.create and Object.assign
Object.create
const newObj = Object.create({});
const nullObj = Object.create(null);
파라미터로 전달된 프로토타입을 갖는 새로운 객체를 만들어낸다. 결과만 보면 new Class()
와 비슷하게 동작해서 혼동할 수 있지만 좀 더 다양한 사용법은 Object.create에서 확인해볼 수 있다.
Object.assign
const newObj = Object.create({ A: 1, B: 2 });
const merged = Object.assign(newObj, { B: 3, C: 4 }); // { A: 1, B: 3, C: 4 }
const isSame = newObj === merged; // true
객체 2개를 인자로 받는데 1번 객체에 2번 객체를 병합하는 함수다. 2번 객체의 열거 가능(키가 있는)한 모든 멤버를 첫 번째 인자의 객체로 복사한다. 복사할 때에는 값을 복사하기 때문에 깊은 복사(deep copy)를 원할 경우 다른 방법을 사용해야한다.
초판: 2024. 08. 19. 10:50:44
© 2024 이 문서는 "CC BY 4.0 국제규약" 라이선스로 배포 되었습니다. 모든 권리는 저자에게 있습니다.