JavaScript Immutability

Kaydenna92·2022년 5월 11일
0

JavaScript

목록 보기
3/15

immutability

// 함수 내부에서 외부로부터 주어진 인자의 값을 변경하는 것은 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'}; // 반환할때는 새로운 오브젝트를..!
  
}
profile
persistently

0개의 댓글