더북(TheBook)

16.

a.name = '고양이';

본문으로

 

17.

const a2 = a;
const c2 = c.slice();
const e2 = { ...e };
const i2 = JSON.parse(JSON.stringify(i));
const n2 = JSON.parse(JSON.stringify(n));

해설 문자열, 불 값, 숫자 같은 자료형은 단순히 다른 변수에 대입하는 것만으로도 복사가 되며, 복사된 값을 바꿔도 원본이 바뀌지 않습니다. 내부에 객체가 들어 있지 않은 배열은 slice()concat() 메서드를 사용하면 되고, 내부에 객체가 들어 있지 않은 객체 리터럴은 ... 연산자를 사용하면 됩니다. 내부에 객체가 들어 있으면 복사가 까다롭습니다. slice() 메서드나 스프레드 문법은 내부 객체를 복사 대신 참조로 연결(얕은 복사)하므로 JSON.parse(JSON.stringify(객체))로 깊은 복사를 해야 합니다.

본문으로

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.