말랑말랑 LAB

[JavaScript] 일급 함수 본문

JavaScript/함수형 프로그래밍

[JavaScript] 일급 함수

쭈02 2018. 12. 20. 00:43

자바스크립트의 일급 함수



o 일급 함수란?

  • 함수를 값으로 다룰 수 있는 개념
o 주요 특징

1) 함수를 변수에 담을 수 있다


2) 함수를 인자로 받을 수 있다




o add_maker 예제



  • 함수를 리턴하는 함수

  • add_maker 함수뿐 아니라 리턴하는 익명함수에서도 인자값을 받아 더한 값을 리턴한다

- add_maker 사용 예제
  • add10 변수에 add_maker 함수가 리턴하는 익명함수가 들어간다
    • 이 때, 이 익명함수는 클로저 이며 순수 함수!!
    • a 변수의 scope 안에서 이 익명함수가 a 값을 참조하고 있으므로, a 값을 기억하고 있는 클로저가 된다
    • 함수 내에서 a 값을 참조만 하고 있을뿐, 원래의 값을 변경하지 않으므로 순수 함수이다
  • add_maker 함수의 인자 값(10)과 add10 즉, 익명함수의 인자값(20)을 더해 최종적으로 30 의 결과가 나온다


  • add_maker 함수를 통해 또다른 add 함수들을 만들 수 있다








'JavaScript > 함수형 프로그래밍' 카테고리의 다른 글

[JavaScript] _each 의 외부 다형성 높이기  (0) 2019.01.02
[JavaScript] pipe 함수, go 함수  (0) 2018.12.26
[JavaScript] reduce 함수  (0) 2018.12.25
[JavaScript] 커링  (0) 2018.12.24
[JavaScript] 순수 함수  (0) 2018.12.19
Comments