본문 바로가기

NodeJS/FuncP3

Go, Pipe, Curry 2024.02.19 - [NodeJS/FuncP] - 함수형 프로그래밍이란? 함수형 프로그래밍이란? 함수형 프로그래밍? 함수형 프로그래밍 (Funtional Programming)이란 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. - [위키백과] - odhok.tistory.com 위 글을 읽고 오시는걸 추천합니다 go 함수란 무엇일까? go는 함수들을 인자로 받아서 함수를 통과시킨 결과값을 return 해주는 함수다. 말로만 들으면 무슨말인지 이해가 어려우니 코드를 보도록 하자. const go = (...args) => args.reduce((acc, cur) => cur(acc)); /* const go = (...args) => { re.. 2024. 2. 20.
Iterator, Iterable Iterator/Iterable Protocol Iterator: { value, done} 객체를 return 하는 next()를 가진 객체 Iterable: Iterator를 return하는 [Symbol.iterator]()를 가진 객체 // 배열이나 string, Map, Set 등이 Iterable 객체에 해당한다. Iterator/Iterable Protocol: [for...of], [Spread Operator] 등 이터러블이나 이터레이터 프로토콜을 따르는 연산자함게 동작하도록 하는 규약 // Iterable const u_iterable = { [Symbol.iterator]() { let i = 3; return { next() { return i === 0 ? { value: unde.. 2024. 2. 19.
함수형 프로그래밍이란? 함수형 프로그래밍? 함수형 프로그래밍 (Funtional Programming)이란 자료 처리를 수학적 함수의 계산으로 취급하고 상태와 가변 데이터를 멀리하는 프로그래밍 패러다임의 하나이다. - [위키백과] - 결국 외부 데이터를 변경하기 않는 순수 함수의 집합이라고 생각하는게 편할것 같습니다. 값의 변경이 일어나는 경우 얕은 복사가 아닌 깊은 복사를 사용해 원본 객체의 값을 복사해 계산을 한 이후 return을 해주어야 합니다. 함수형 프로그래밍에서는 아래와 같은 특징이 있습니다. - 불변성 ( Immutable ) // 원본 데이터가 변경되지 않아야 함 // ===== mutable ====== const value = { age: 10, name: 'dong' }; const mutableFunc .. 2024. 2. 19.