티스토리 뷰

함수형 프로그래밍 =>성공적 프로그래밍


함수형 프로그래밍은 성공적인 프로그래밍을 위해 부수효과를 미워하고, 조합성을 강조하는 프로그래밍 패러다임이다.


    • 부수효과 미워한다? => 순수함수를 만든다.
    • 조합성 강조 => 모둘화 수준 높인다.
    • 순수함수 => 오류를 줄이고 안정성 높인다.
    • 모듈화 수준이 높다 => 생산성이 좋다.


순수함수 => 동일한 결과, 외부에 영향을 끼치지 않음.


순수함수

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
    • 조합성이 좋음.


일급함수

    • 자바스크립트에선 함수는 일급함수
    • 함수를 변수에 담을수있다.


댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
TAG
more
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함