순수함수

SGIYLEVOELR·2021년 11월 20일
0

기본 개념

목록 보기
5/6

순수함수

함수형 프로그래밍

함수형 프로그래밍 : 부수 효과를 없애고 순수 함수를 만들어 모듈화 수준을 높이는 프로그래밍 패러다임

  • 부수 효과 = 외부의 상태를 변경하는 것 또는 함수로 들어온 인자의 상태를 직접 변경하는 것
  • 순수 함수 = 부수효과가 없는 함수 즉, 어떤 함수에 동일한 인자를 주었을 때 항상 같은 값을 리턴하는 함수 & 외부의 상태를 변경하지 않는 함수

예시)

  • 순수함수
    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?: 외부의 값을 참조해도 결과값이 동일한 인자에 대해서 같기 때문 (즉, 리턴 값을 보장해주기 때문)

0개의 댓글