Interview 2장 - 순수함수와 부수효과
포스트
취소

Interview 2장 - 순수함수와 부수효과

Interview

Side Effect(부수효과)

  • 어떤 구현이 함수 외부에 영향을 끼치는 경우를 말한다.
  • 컴포넌트 내에서 fetch를 사용해 API 정보를 가져오거나 이벤트를 활용해 DOM을 조작할 떄 Side Effect가 발생했다고 말한다.
  • 외부 변수를 참조하거나 변경하는 효과이다.
1
2
3
4
5
6
7
8
let side = "effect";

function effect() {
  side = "warning";
}

effect();
// effect는 Side Effect를 발생시킨다.

Pure Function(순수함수)

  • 순수함수란, Side Effect가 없는 불변성을 유지하는 함수이다.
  • 순수함수는 항상 동일한 결괏값을 만들기 떄문에 예측이 가능하고, 예측이 가능한 결과를 반환하기 때문에 순수함수들과의 조합성이 좋아 재사용성이 높다.
  • 순수함수가 아닐 경우, 함수들의 조합성이 떨이져 결과를 예측하기 힘들어지고, 어떠한 값이 여러 함수의 결과에 영향을 주기 때문에 유지보수가 힘들어진다.
1
2
3
4
5
6
7
// 순수함수
function example(a, b) {
  return a + b;
}

example(5, 10);
// 15
1
2
3
4
5
6
7
8
9
// 순수함수가 아닌 경우
let c = 10;
function example(a, b) {
  return a + b + c;
}

example(5, 10); // 15
c = 20;
example(5, 10); // 35
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.