순수함수는 입력값이 같으면 항상 같은 결과를 반환하는 함수입니다. 이 함수는 부작용(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 요청을 보내고, 이에 대한 응답을 처리하는 콜백 함수를 사용합니다. 이 함수는 외부 상태를 변경하는 부작용이 있으므로 순수 함수가 아닙니다.