// 함수 내부에서 외부로부터 주어진 인자의 값을 변경하는 것은 XXXXXXXXXXXXX!!!
// 상태변경이 필요한 경우에는 새로운 상태(오브젝트, 값)을 만들어서 반환해야 함!
// 원시값 - 값에 의한 복사
// 객체값 - 참조에 의한 복사 -> 이 부분에서 문제가 발생!
function display(num) {
num = 5 // 함수 내부에서 변경,
console.log(num)
}
const value = 4;
display(value);
console.log(value);
//출력
//5
//4
// 함수내부에서 객체값을 변경할 경우.
// XXXXXXXXXXXX
// 외부로부터 주어진 인자(object)를 내부에서 변경하면 안된다.
function displayObj(obj){
obj.name = 'babo';
console.log(obj);
}
const kayden = {
name : 'kayden';
};
displayObj(kayden); // 참조값이 전달됨.
console.log(kayden);
// 출력
// babo
// babo
function changeName(obj){
return { ...obj, name : 'babo'}; // 반환할때는 새로운 오브젝트를..!
}