[TIL] 순수함수

이현동·2023년 5월 17일
0

TIL

목록 보기
55/59
post-custom-banner

순수함수?

순수함수는 입력값이 같으면 항상 같은 결과를 반환하는 함수입니다. 이 함수는 부작용(side effect)이 없으며, 외부 상태를 변경하지 않습니다. 이러한 특성으로 인해 순수 함수는 테스트하기 쉽고, 코드가 예측 가능합니다.

순수함수는 입력값이 같으면 항상 같은 결과를 반환하는 함수입니다. 이 함수는 부작용(side effect)이 없으며, 외부 상태를 변경하지 않습니다. 이러한 특성으로 인해 순수 함수는 테스트하기 쉽고, 코드가 예측 가능합니다.

순수함수 조건

순수함수의 예시

순수 함수의 예시는 다음과 같습니다.

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

이 함수는 항상 a와 b의 합을 반환합니다. 이 함수는 입력값이 같으면 항상 같은 결과를 반환하므로 순수 함수입니다.

반면, 순수 함수가 아닌 예시는 다음과 같습니다.

let x = 10;

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

이 함수는 입력값이 같더라도 x의 값에 따라 결과가 달라집니다. 이 함수는 외부 상태를 변경하는 부작용이 있으므로 순수 함수가 아닙니다.

또 다른 예시는 다음과 같습니다.

function getUser(id) {
  axios.get('/users/' + id)
    .then(function (response) {
      return response.data;
    });
}

이 함수는 axios 라이브러리를 사용하여 HTTP 요청을 보내고, 이에 대한 응답을 처리하는 콜백 함수를 사용합니다. 이 함수는 외부 상태를 변경하는 부작용이 있으므로 순수 함수가 아닙니다.


참고자료

nabisorry

profile
https://hdlee.dev
post-custom-banner

0개의 댓글