[javascript] 사이드 이펙트와 순수 함수

사이드 이펙트와 순수 함수는 함수형 프로그래밍에서 중요한 개념입니다. 이러한 개념을 이해하고 적절히 활용하는 것은 코드의 가독성과 유지보수를 쉽게 만들어줍니다. 이번 글에서는 자바스크립트에서 사이드 이펙트와 순수 함수에 대해 알아보겠습니다.

사이드 이펙트란 무엇인가?

사이드 이펙트란 함수가 외부 상태를 변경하거나 다른 함수에 영향을 주는 것을 말합니다. 예를 들어, 전역 변수를 변경하거나 파일을 쓰거나 네트워크 요청을 보내는 것은 모두 사이드 이펙트에 해당합니다.

let count = 0;

function addOne() {
  count++;
}

위의 예제에서 addOne 함수는 count라는 전역 변수를 변경하고 있습니다. 이는 사이드 이펙트를 발생시키는 것입니다.

순수 함수란 무엇인가?

반면에 순수 함수는 같은 입력에 대해 항상 같은 출력을 반환하고, 어떠한 사이드 이펙트도 발생시키지 않는 함수를 말합니다.

function add(a, b) {
  return a + b;
}

위의 add 함수는 순수 함수입니다. 같은 입력에 대해 항상 같은 결과를 반환하며, 어떠한 외부 상태도 변경하지 않습니다.

왜 순수 함수를 사용해야 하는가?

순수 함수를 사용하는 것은 코드의 안정성을 높이고 테스트하기 쉽게 만들어줍니다. 또한, 함수형 프로그래밍의 핵심인 불변성과 결합성을 지키는 데 도움이 됩니다.

결론

사이드 이펙트와 순수 함수는 함수형 프로그래밍에서 중요한 개념으로, 코드를 더 이해하기 쉽고 예측 가능하게 만들어줍니다. 순수 함수를 사용하고 사이드 이펙트를 최소화하여 코드의 안정성을 향상시키는 것은 프로그래밍할 때 중요한 고려사항입니다.

이상으로 사이드 이펙트와 순수 함수에 대해 알아보았습니다. 감사합니다.

참고 자료