본문 바로가기

functional programming21

[FP&ES6+] 제너레이터 함수형 프로그래밍과 JavaScript ES6+ 강의를 듣고 정리한 내용입니다. ✅ 제너레이터 제너레이터는 이터레이터이자 이터러블을 생성하는 함수이다. 지난 포스팅에서 이터레이터에 대해 적었었는데, 다시 복습해보자면 이터레이터는 {value, done} 객체를 리턴하는 next() 를 가진 값이고 이터러블은 이터레이터를 리턴하는 [Symbol.iterator]()를 가진 값이다. 제너레이터가 이터레이터이고 이터러블을 생성한다고 했으니 다르게 말하면 제너레이터는 이터레이터를 리턴하는 함수이다. 제너레이터는 일반 함수 앞에 *을 붙여서 제너레이터 함수를 만든다. 그리고 yield라는 키워드를 사용해 반환할 값을 정의한다. function* gen() { yield 1; yield 2; yield 3; } l.. 2021. 12. 1.
[FP&ES6+] 리스트 순회와 이터러블, 이터레이터 함수형 프로그래밍과 JavaScript ES6+ 강의를 듣고 정리한 내용입니다. ✅ 리스트 순회 기존 ES5 문법에서의 리스트 순회는 for문을 이용했다. const arr = [1, 2, 3]; for(var i = 0; i < arr.length; i++){ console.log(arr[i]); } // output // 1 // 2 // 3 const str = "abc"; for(var i = 0; i < str.length; i++){ console.log(str[i]); } // output // a // b // c i의 값을 증가시키면서 대상의 i번째 요소에 접근하는 것이다. ES6+에서는 for...of문이 추가되었다. const arr = [1, 2, 3]; for(const a of .. 2021. 10. 29.
[FP&ES6+] 평가와 일급, 일급함수와 고차함수 함수형 프로그래밍과 JavaScript ES6+ 강의를 듣고 정리한 내용입니다. ✅ 평가 코드가 계산되어 값을 만드는 것을 말한다. 1 + 3이라는 코드가 평가되어 4라는 값이 나오는 것과 2 * 4라는 코드가 평가되어 8이라는 값이 나오는 것을 볼 수 있다. ✅ 일급 값으로 다룰 수 있고 변수에 담을 수 있다. 함수의 인자로 사용될 수 있으며 함수의 결과로 사용될 수 있다. const num = 10 const add10 = a => a + 10; const result = add10(num); console.log(result) // Output: 20 여기서 num이라는 변수에 10이라는 값이 저장되고 add10이라는 함수의 인자로 num이 전달되었다. 그리고 add10(num)의 결과가 resul.. 2021. 9. 27.