<aside> 💡 Study Note

</aside>

*참조에 의한 전달과 외부 상태의 변경*

<aside> ✅ 원시 값 = 값에 의한 전달 객체 = 참조에 의한 전달 방식으로 동작한다.

</aside>

				function changeVal(primitive,obj){
            primitive +=100; // primitive = primitive + 100
            obj.name = 'kim'
        }

        var num = 100;
        var person = {name: 'jaeyoung'};

        console.log(changeVal(num,person));

        console.log(num); //100
        console.log(person); // name : 'kim'

원시타입 - 원본을 변경하는 부수효과가 발생하지 않는다.

객체타입 - 원본을 변경하는 부수효과가 발생한다.

원본을 변경하는 부수 효과가 발생할 경우에 생기는 문제점

  1. 함수내에서 외부 상태를 변경하게 되면 상태 변화를 추적하기 어렵다
  2. 코드의 복잡성을 증가시킨다.
  3. 가독성을 해치는 원인이 된다.