JavaScript

[JS] 순수함수

Leo(상원) 2023. 4. 6. 17:00
반응형

1. 순수함수

순수 함수는 입력값에 의존하여 항상 동일한 출력값을 반환하는 함수로, 외부 상태에 영향을 주지 않고 사이드 이펙트가 없는 함수를 의미합니다.

외부함수: 전역 변수나 서버 데이터, DOM 등을 의미합니다.

 

함수가 순수하다라는 의미를 갖기 위해서는 아래의 특성을 가져야 합니다.

  • 숨겨진 정보나 외부 상태가 아닌 결과를 생성하는 입력에만 의존해야 한다.
  • 참조 또는 전역 변수 / 객체에 의해 전달된 매개변수를 수정하는 것과 같은 관찰 가능한 부작용을 일으키지 않아야 한다.
// 순수 함수의 예시
function addNum (a, b) {
  return a + b
}

위 코드처럼 a,b를 매개변수로 전달하고 외부 변수에 접근하지 않으며 주어진 입력을 기반으로 계산을 수행한다.

 

let num1 = 20

function addNum(a,b) {
  return num1 + a + b
}

위 코드는 return 값을 얻기위해 일부 외부 상태에 의존합니다. 이는 규칙을 위반합니다. 따라서 순수 함수가 아닙니다.

 

2. 순수함수의 장점

  • 순수함수는 실행 시점이 중요하지 않다.
  • 순수함수는 조합성을 높여준다.
반응형