slice1 [TIL] copy-on-write 방법론 - js에서 퍼포먼스 테스트 함수형 프로그래밍 책을 읽다가 좋은 패턴 중 하나로 copy-on-write 원칙을 설명하는 것을 보았다. js에서는 파라미터를 함수로 넘길 때 객체의 경우 레퍼런스를 넘기게 된다. 따라서 레퍼런스 값에 직접 access하다 보면 우리가 인지하지 못하는 변화가 있을 수 있다는 것이 논조이다. 예를 들어, 전역 변수를 parameter로 넘겨주고, 함수에서는 전역변수를 변경한다면, 해당 변수를 참조하는 또 다른 함수의 경우 예기치 못한 변화로 인한 버그가 발생할 수 있다는 것이다. 책에서 추천하고 있는 방향은 다음과 같다. function f(arr) { const newArr = arr.slice(); newArr[3] = "new"; return newArr; } const arr = ["hello",.. 2023. 4. 22. 이전 1 다음