💛함수형 프로그래밍은 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. 💛 어플리케이션, 함수의 구성요소, 더 나아가서 언어 자체를 함수처럼 여기도록 만들고, 이러한 함수 개념을 가장 우선 순위에 놓는다.
다형성, 커링, reduce, _pipe, _go, _keys, 에러
🧡 수집하기 (map, values, pluck 등) 💛 거르기 (filter, reject, compact, without 등) 💚 찾아내기 (find, some, every 등) 💙 접기 (reduce, min, max 등)
🛑 지연 평가 : 작업 범위를 스스로 제한하는 것 slice, filter 와 같이 범위를 줄일 수 있는 작업을 사용한다!
실전코드조각 - 1
실전코드조각 - 2
💌 인프런 자바스크립트로 알아보는 함수형 프로그래밍 (ES5) 수료인증서
1. 기존과 달라진 ES6에서의 리스트 순회 2. Array, Set, Map으로 알아보는 이터러블/이터레이터 프로토콜 3. 사용자 정의 이터러블, 이터러블/이터레이터 프로토콜 정의 4. 전개 연산자
🎋 제너레이터: 이터레이터이자 이터러블을 생성하는 함수, * 표시 사용 🎋 문장을 통해 순회할 수 있는 값을 만들 수 있다는 것은 / 어떠한 값도 순회할 수 있는 형태로 조작할 수 있으며 다양한 값을 순회할 수 있는 이터러블을 만들 수 있다는 뜻!
👸🏻 map + filter + reduce 중첩 사용과 함수형 사고
1. go 값을 즉시 평가하는데 사용한다. 2. pipe 함수를 리턴하는 함수로, 결국 내부에서 go를 사용하는 함수라고 볼 수 있다.
😪 컴퓨터 프로그래밍에서 느긋한 계산법(Lazy evaluation)은 계산의 결과 값이 필요할 때까지 계산을 늦추는 기법이다. 😪 지연 평가 시 필요 할 때까지 계산을 늦추면서 불필요한 계산을 줄일 수 있다.
1. 결과를 만드는 함수 reduce, take reduce와 take는 map, filter와 같이 지연 평가를 진행한 값을 실제 연산하는 단계이다. take도 지연 평가를 통해 값을 특정 갯수만 yield할 수 있지만, take는 몇 개 일지 모르는 리스트에서 몇 개를 사용할지 정하는 함수이기 때문에 take까지 지연평가로 할 필요는 없다. red...
🍑 동기 : 요청을 하면 시간이 얼마가 걸리던지 요청한 자리에서 결과가 주어져야 한다. 🍇 비동기 : 요청과 결과가 동시에 일어나지 않는다.