본문 바로가기

Web/유인동 함수형 프로그래밍 스터디

(2)
함수형 프로그래밍 시작하기 ★기본개념 ### 평가란, 코드가 계산되어 값을 만드는 것을 말한다. ###일급이란, 값으로 다룰 수 있고, 변수에 담을 수 있고 함수의 인자로 사용될 수 있고, 함수의 결과 값으로 사용될 수 있다. ###일급함수란, 함수를 값으로 다룰 수 있다. 변수에 담을 수 있고, 함수를 인자로 넘길 수 있고, 함수를 리턴값으로 넘길 수 있다. ( => 클로저를 리턴한다. ) ###고차함수란, 함수를 값으로 다루는 함수 고차함수 예시1 apply_1함수는 함수를 인수로 받아서 그 함수에 1을 인자로 넘겨준다. add_2는 받은 인자에 2를 더해주는함수이다. const apply_1 = f => f(1); const add_2 = a => a+2; apply1(add2); // => apply_1((1) => 1+2..
Iterable, iterator, generator 개념 결론★ 1.Iterable은 순환이 가능한 값이다. 2.Iterable은 Iterator를 리턴하는 [Symbol.interator]() 함수를 가진다. 3.Iterator는 { value:값, done: bool값 }형태 객체를 리턴하는 next()함수를 가진다. 4.Iterable은 for...of, 전개 연산자, 구조분해, 나머지 연산자 등과 함께 사용할 수 있다. ex) for...of는 next() done:true가 될 때까지 순환한다. 5.Generator는 Iterable이자 Iterable을 생성하는 함수이다. 함수명에 *를 붙여 선언한다. 6. Generator에서 순회할 값 앞에 yield 키워드를 붙여준다. 그럼 이터레이터가 next()로 단계적 순회하듯, 제어가 가능하다. (for..