함수 호출시 문제점 js에서는 기본적으로 primitive type의 경우에는 값의 복사가 이루어지게 됩니다. 하지만 객체 타입인 경우에는 무조건 참조값(주소값)이 넘어가게 되어있습니다.
C++에서야 const 등을 써서 포인터에 const를 놓거나, 또는 값에 const를 놓는 등의 처리가 가능하지만, js에서는 그런 안전장치가 전혀 없습니다. 그렇다보니 함수 내부에서 값을 바꿔버리게 되면 이상한 상황이 연출이 될 수 있습니다.
이로 인해 많은 문제들이 발생을 하다보니 "부수 효과"Side Effect를 없애기 위해 순수 함수에 집착을 하게 되었고, 그로 인해 함수형 프로그래밍이 또 다른 패러다임으로 올라오는 것 같습니다. // C++ void Test(char* a, const char* b, const char* const c) { // blah blah blah } // js function Test(a, b, c) { // bla bla bla } 즉시 실행 함수 함수 정의...
원문 링크 : js] 자바 스크립트 공부 5차 - 함수 호출