어떤 외부 상태에도 영향이 없는 함수다.
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
비순수 함수는 외부 상태 변화에 영향이 미치는 걸 알 수 있다.
전체 함수가 복잡해지거나 길어진다면, 상태 변화 추적이 어려워진다.
순수 함수와 비순순 함수 개념에 대해서 처음 알게 되었네요. ㅎㅎㅎ
좋은 정보 감사합니다.