처리중입니다. 잠시만 기다려주세요.
TTJ 코딩클래스
정규반 단과 자료실 테크 뉴스 코딩 퀴즈
퀴즈 / JavaScript / 문제

JavaScript Object.assign()과 스프레드 연산자({...obj})의 공통점과 차이점은?

보통 MDN Web Docs
보기 및 정답
A 둘 다 얕은 복사(Shallow Copy)를 수행하지만, Object.assign()은 기존 객체를 변경할 수 있다
B Object.assign()은 깊은 복사(Deep Copy)를 수행하고, 스프레드 연산자는 얕은 복사만 수행하는 것이 일반적이다
C 스프레드 연산자는 배열에만 사용 가능하고, Object.assign()은 객체에만 사용할 수 있다
D Object.assign()과 스프레드 연산자({...obj})는 완전히 동일하며 내부 동작에 차이가 전혀 없다

해설

Object.assign(target, source)는 source의 속성을 target에 복사하여 target을 변경합니다. 스프레드({...obj})는 항상 새 객체를 생성합니다. 둘 다 얕은 복사만 수행하므로, 중첩 객체는 참조가 공유됩니다.

코딩, 제대로 배우고 싶다면?

개념 확인은 퀴즈로, 실력은 실전 프로젝트로.
투더제이 코딩클래스에서 시작하세요.

정규반 살펴보기