순수함수 - 기존 목적과 다른 효과를 만들지 않음.
function add(a, b) {
return a + b;
}
순수하지 않은 함수
let count = 0;
function increment() {
count++;
return count;
}
// count라는 변수를 증가시키고 새 값을 반환함.
function getRandomNumber() {
return Math.random();
}
// 호출될 때마다 0과 1사이 난수를 반환함.
function addToArray(arr, value) {
return [...arr, value];
}
// 함수가 새 배열을 생성하더라도 원래 arr 배열을 수정하지 않고 입력된 매개변수 집합에 대해 동일한 출력을 생성하기에 여전히 순수함.