티스토리 뷰
함수형 프로그래밍 =>성공적 프로그래밍
함수형 프로그래밍은 성공적인 프로그래밍을 위해 부수효과를 미워하고, 조합성을 강조하는 프로그래밍 패러다임이다.
- 부수효과 미워한다? => 순수함수를 만든다.
- 조합성 강조 => 모둘화 수준 높인다.
- 순수함수 => 오류를 줄이고 안정성 높인다.
- 모듈화 수준이 높다 => 생산성이 좋다.
순수함수 => 동일한 결과, 외부에 영향을 끼치지 않음.
순수함수
function add(a,b){
return a+b;
}
순수함수가 아닌 함수들
var c=10;
function add2(a,b){
return a+b+c;
}
var c=20;
function add3(a,b){
c=b;
return a+b;
}
var obj1={val: 10};
function add4(obj, b){
obj.val+=b;
}
add4(obj1,20);
- object들 변경할때는 새로운 값을 return 하는 식으로 해야함.
- es6의 map이나 filter와 일맥상통한다.
- 리덕스와도 매우 일맥상통한다.
var obj1={val:10}
function add5(obh,b){
return {val: obj.val+b}
}
=>초기화된 값을 건드리지 않고, 인자로 받은 값을 변경시키지 않으면서, 값을 다루는 방식
순수함수가 아닌함수
- 순수함수가 아닌 함수는 평가 시점에 따라, 로직이나 값이 달라진다.
- 위의 add2 같은 경우는 c값에따라 결과 달라짐.
순수함수
- 순수함수는 위와 같은 평가 시점과 관련 x
- 조합성이 좋음.
일급함수
- 자바스크립트에선 함수는 일급함수
- 함수를 변수에 담을수있다.
'Programming Skills > 함수형 프로그래밍' 카테고리의 다른 글
함수형프로그래밍-커링 (0) | 2018.02.07 |
---|---|
함수형 프로그래밍 -다형성 (0) | 2018.02.06 |
함수형프로그래밍-map,filter (0) | 2018.02.01 |
함수형 프로그래밍-요즘개발이야기,함수형 프로그래밍정의 (0) | 2018.01.31 |
함수형프로그래밍-일급함수, add_maker,함수로 함수 실행하기 (0) | 2018.01.31 |
댓글