본문 바로가기
javaScript

Pure함수 Impure함수 개념이해

by mooyou 2024. 11. 4.
728x90
300x250

Pure함수 : input을 변경하지 않으면 항상 같은 output을 리턴하는 함수

// Pure 함수: 외부 상태에 의존하지 않고, 부작용이 없다
function add(a, b) {
    return a + b;
}

console.log(add(2, 3));  // 항상 5를 반환

입력값을 변경하지 않으면 같은 입력값에 대해서는 항상 같은 출력값을 낸다

 

Impure함수 : 같은 입력값을 주었을 때 항상 동일한 출력값을 보장하지 않는 함수

let total = 0;

// Impure 함수: 외부 변수인 total의 값을 변경한다 (부작용이 발생)
function addToTotal(amount) {
    total += amount;
    return total;
}

console.log(addToTotal(5));  // total이 5로 바뀜
console.log(addToTotal(10)); // total이 15로 바뀜 (외부 상태에 의존)

 

 

728x90
반응형

댓글