// 참조형 복사하기(객체3 - 함수로 지정)
function cloneObject(object) {
let temp = {};
for ( let key in object ) {
temp[key] = object[key];
}
return temp;
}
let course5 = {
title: '파이썬 프로그래밍 기초',
language: 'Python'
}
let course6 = cloneObject(course5);
let course7 = cloneObject(course5);
course6.title = '자료 구조2';
course7.title = '객체 지향 프로그래밍';
console.log(course5); //{ title: '파이썬 프로그래밍 기초', language: 'Python' }
console.log(course6); //{ title: '자료 구조2', language: 'Python' }
console.log(course7); //{ title: '객체 지향 프로그래밍', language: 'Python' }
for( key in object) 원리는 똑같다. 다만 일일이 계속 만들어야 하기 때문에 함수형으로 적용시킨 것이다.
temp = {} 는 임시저장소(객체) 이며, 빈공간으로 선언한다.
그리고 여기다가 for...in... 문을 돌려서 temp에 넣고 return 해준다.
cloneObject() 적용 끝!
그러면 수정해도 서로 영향을 주지 않는다.