순수 함수와 비순수 함수

Dorogono·2022년 4월 29일
0

JS 알아보기

목록 보기
6/19
post-thumbnail

순수 함수란.

어떤 외부 상태에도 영향이 없는 함수다.

let count = 0;

// 순수 함수 increase는 인수가 전달되면 동일한 값을 반환한다.
function increase(n) {
  return ++n;
}

// 순수 함수가 반환한 값을 변수에 재할당한다.
count = increase(count);
console.log(count); // 1

순수 함수인 increase 함수로 전달된 인수에게만 의존해 값을 반환한다.
전역 변수인 count와는 영향을 주고 받지 않는다.

비순수 함수란.

순수 함수와는 반대로 외부 상태 변화에 영향이 있는 함수다.

let count = 0;

// 비순수 함수 increase
function increase(n) {
  return ++count; // 외부 상태 의존 & 외부 상태 변경
}

increse();
console.log(count); // 1

비순수 함수는 외부 상태 변화에 영향이 미치는 걸 알 수 있다.
전체 함수가 복잡해지거나 길어진다면, 상태 변화 추적이 어려워진다.

후에 순수 함수를 이용하는 함수형 프로그래밍(FP)에도 중요한 내용이다.

profile
3D를 좋아하는 FE 개발자입니다.

3개의 댓글

comment-user-thumbnail
2022년 4월 29일

순수 함수와 비순순 함수 개념에 대해서 처음 알게 되었네요. ㅎㅎㅎ
좋은 정보 감사합니다.

답글 달기
comment-user-thumbnail
2022년 4월 29일

함수형 프로그래밍에도 어떻게 적용될지 궁금해지네요 🤔

답글 달기
comment-user-thumbnail
2022년 4월 29일

결합도와 관련이 있는 내용인 것 같네요 !! 순수형 함수, 비순수형 함수 모두 처음 들어보는 키워드인데 잘 숙지하고 다음에 나오게 된다면 당황하지 않고 잘 이해할 수 있을 것 같습니다 ㅎㅎ 좋은 내용 감사합니다!!

답글 달기