ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [Functional] 평가와 일급, 고차함수
    programing/Language 2019. 6. 25. 20:34

    안녕하세요, Einere입니다.

    (ADblock을 꺼주시면 감사하겠습니다.)


    함수형 프로그래밍이란?

    • '존재'의 추상화를 함수 형태로 정의한다.
    • 기존 함수를 이용해서 '참거짓'의 추상화를 정의한다.
    • 위 함수를 다른 함수의 파라미터로 제공해서 어떤 동작을 하도록 한다.

    함수형 프로그래밍은 일급 함수와 편의성이 중요하다.

     

    함수형 프로그래밍의 자격

    • 관계형 정의
    • 타입
    • 패턴 매치
    • 불변성
    • 순수성

     

     

    평가(evaluation)

    코드가 계산되어 값을 만드는 것.

     

     

    일급

    값으로 다룰 수 있다.

    변수에 할당할 수 있다.

    함수의 인자로 사용될 수 있다.

    함수의 결과로 사용될 수 있다.

     

     

    일급 함수

    함수를 값으로 다룰 수 있다.

    함수를 변수에 할당할 수 있다.

    함수의 인자로 함수를 사용할 수 있다.

    함수의 결과로 함수를 사용할 수 있다.

    조합성과 추상화의 도구이다.

     

     

    고차함수

    함수를 값으로서 다루는 함수. 

    함수를 인자로 받아서 사용하는 함수.

    함수를 반환하는 함수. ex) 클로저를 반환하는 함수.

     

     

    JS의 다중 패러다임

    자바스크립트는 다양한 패러다임을 제공한다.

    • 명령형 프로그래밍
      • 우리가 흔히 아는 C, Java와 같이 어떻게를 강조한 프로그래밍. 같이 언급되는 단어인 선언형 프로그래밍이 있다.
    • 프로토타입 기반 객체 지향 프로그래밍
      • ES6에서는 class 기반 객체 지향 프로그래밍도 지원한다.
    • 메타 프로그래밍
      • 실행 모델의 기반을 변경하는 프로그래밍..이라는데 잘 모르겠다.

     

     

    참고

    마이클 포거스, 『함수형 자바스크립트 : 새롭고 올바른 자바스크립트 프로그래밍 기법』, 한빛미디어(2014).

    유인동, 인프런 - 함수형 프로그래밍과 JavaScript ES6+

    댓글

Designed by black7375.