자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #2
2019. 9. 15. 18:15ㆍProgramming/JavaScript
반응형
이 글은 인프런에서 게재되어있는, 유인동 님의
자바스크립트로 알아보는 함수형 프로그래밍
을 수강하면서 정리한 노트입니다. 제가 잘못 이해하거나 정리한 내용이 있다면 댓글로 알려주세요. 확인하는대로 수정하도록 하겠습니다. :)
일급 객체(First Class)
- 자바 스크립트에서는 함수가 일급 객체(First Class)이다. 일급 객체는 다음과 같은 특성을 지닌다.
- 리터럴에 의해 생성된다.
- 변수나 배열의 요소, 객체의 프로퍼티 등에 할당이 가능하다.
- 함수의 인자로 전달이 가능하다.
- 함수의 리턴 값으로 반환이 가능하다.
- 동적으로 프로퍼티를 생성하거나, 할당하는 게 가능하다.
add_maker()
다음의 예제를 살펴보도록 하자.
function add_maker(a) { return function(b) { return a + b; } } var add10 = add_maker(10); console.log(add10(20)); //print 30
위 함수는 변수 a를 인자로 받아, 인자로 전달받은 변수 b를 함산하여 반환하는 함수를 반환한다. add_maker(10)을 호출하면 클로저(add_maker의 내부에서 반환하는 함수는 add_maker로 전달된 인자 a를 참조하고 있으므로, 스코프 내에서 a를 기억하는 클로저가 된다.)가 생성되며, 10+b를 반환하는 함수가
add10
에 할당되게 된다. 즉,add_maker
는 일급 객체와 클로저라는 개념이 함께 사용된 셈이다.
참고:
반응형
'Programming > JavaScript' 카테고리의 다른 글
자바스크립트로 알아보는 함수형 프로그래밍 정리노트#4, 함수형으로 전환하기 (0) | 2019.09.22 |
---|---|
자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #3 (0) | 2019.09.15 |
자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #1 (0) | 2019.09.15 |
Tic-Tac-Toe #1 (0) | 2019.08.21 |
REST API를 사용한 폼 베이스 인증(Form Base Authentication)에 베이직/다이제스트 인증(Basic/Digest Authentication)을 적용하기 #2 (0) | 2019.07.16 |