본문 바로가기

javascript/함수형프로그래밍과 ES62

range와 느긋한 L.range 함수형프로그래밍이 아직도 아직도 어렵지만, 재밌는 개념들이 많은 것 같습니다. (유인동 개발자님 감사합니다...) 이번에는 숫자를 받고, 그숫자만큼의 배열을 리턴하는 range 함수를 만들어 보겠습니다. const range = l => { let i = 0; const res = []; while (i++ [1, 2, 3, 4, 5] 이번엔 해당 배열의 모든 값을 더해보겠습니다. 이때 reduce를 사용할건데, 기존 js Array.prototpe.reduce 말고 이터레이터를 순회하는 reduce를 만들어 사용하겠습니다. const reduce = (fn, acc, iter) => { // reduce (add,.. 2021. 10. 26.
Iterator 과 iterable, iterable 프로토콜에 대하여 📝 서론 이터레이터 이터러블 이터러블 프로토콜에 대해 js 개발자라면 굉장히 많이 들어보셨을 것 같습니다. 다양한 반복스러운 일(?) 들에 대해 조금 더 스마트하게 작성할 수 있는 방법들을 고민하다가 이터러블 프로토콜을 적용시켜 코드를 작성해야겠다! 라고 생각하며, 조금 살펴본 간단한 개념들에 대해 정리하겠습니다. TIL 정도의 분량입니다. 💁🏼‍♀️ 이터러블? 이터레이터? 이터러블 프로토콜? 그게 뭔데? 알고보면 간단한(사실 안간단) 개념인데 처음 접했을때는 왜이리 어렵고 복잡하게 느껴졌는지 모르겠습니다. 이터러블? 이터러블은? 이터레이터를 리턴하는 Symbol.iterator를 가진 값 입니다. const iterable = { [Symbol.iterator]() { } } 이터레이터? {value,.. 2021. 7. 25.