함수형 프로그래밍 : 부수 효과를 없애고 순수 함수를 만들어 모듈화 수준을 높이는
프로그래밍 패러다임
어떤 함수에 동일한 인자를 주었을 때 항상 같은 값을 리턴하는 함수
& 외부의 상태를 변경하지 않는 함수예시)
function add(a,b){
return a + b;
}
console.log( add(10,5) );
- WHY?: 언제, 어디서 실행해도 add(10,5)는 항상 15를 리턴하고 외부 상태를 변경하지 않았기 때문
var c = 10;
function add2(a,b){
return a + b + c;
}
console.log(add2(10,3));
console.log(add2(10,3));
c = 20;
console.log(add2(10,3));
- WHY?: 함수내에서 외부의 c라는 변수 값이 변하면 결과값도 달라지기 때문
- IF: 만약 c가 상수 즉, 변하지 않는 수라면 add2는 순수 함수
-- WHY?: 외부의 값을 참조해도 결과값이 동일한 인자에 대해서 같기 때문 (즉, 리턴 값을 보장해주기 때문)