본문 바로가기

Javascript

일급 함수 - JS ES6+ 함수형 프로그래밍 - 2

본 시리즈는 인프런 강의 함수형 프로그래밍과 JavaScript ES6+ ( 지식 공유자 : 유인동 님 ) 의 강의를 수강하면서 내용을 제 방식대로 포스팅하는 글입니다.

 

함수형 프로그래밍과 JavaScript ES6+ - 인프런 | 강의

ES6+와 함수형 프로그래밍을 배울 수 있는 강의입니다. 이 강좌에서는 ES6+의 이터러블/이터레이터/제너레이터 프로토콜을 상세히 다루고 응용합니다. 이터러블을 기반으로한 함수형 프로그래밍,

www.inflearn.com

자바스크립트 에서 함수란?

JS 에서는 함수가 일급이다.

이 이야기는 함수를 으로 다룰수 있다는 이야기 이다.

const add5 = a => a + 5
console.log(add5) // a => a + 5 값으로 담아서 함수에게 전달하면 함수자체를 출력
console.log(add5(5)) // 10 함수는 평가 해서 결과로 만들고, 값을 다른 함수에게 전달할수 있다.

변수에 함수를 담아서 값으로 쓸수 있다는 이야기와 같다.

값으로 담아서 함수에게 전달하면 함수자체를 출력

함수는 평가 해서 결과로 만들고, 값을 다른 함수에게 전달할수 있다.

함수가 일급?

const f1 = () => () => 1;
console.log(f1()) // () => 1 :: f1의 결과값은 함수

const f2 = f1()
console.log(f2); // () => 1 :: 함수를 실행시킨 값을 변수에 담을수 있다.
console.log(f2()); // 1 :: 그 담은 값을 원할때 평가해서 결과값을 얻을수 있다.

JS 에서 조합성과 추상화의 도구로 함수를 잘 사용할수 있다.

함수형 프로그래밍 에서는 함수가 일급이라는 성질을 이용해서 많은 조합성을 만들어내고 추상화의 좋은 도구로 사용하고 있다.