1편. RxJS와 선언형 프로그래밍의 관계
RxJS는 단순한 유틸리티 라이브러리를 넘어서, 선언형 프로그래밍의 철학을 코드에 옮긴 대표적인 예다.
이 글에서는 RxJS가 왜 선언형 프로그래밍과 관련이 깊은지 살펴보자.
✨ 선언형 프로그래밍이란?
- "무엇을 할 것인가"에 집중
- 데이터 흐름을 명시적으로 선언하고, 내부의 처리 방식은 숨김
- 대표 예시: HTML, SQL, React JSX, Array.map/filter
⚡ RxJS는 선언형 프로그래밍 그 자체
RxJS는 Observable 스트림을 통해 비동기 데이터를 선언적으로 다룬다.
직접 흐름을 제어하지 않고, 연산자를 조합해서 "무엇을 할 것인지" 선언한다.
fromEvent(document, 'click')
.pipe(
map(event => event.clientX),
filter(x => x < 500)
)
.subscribe(console.log);
- 위 코드는 "클릭 이벤트 중에서, X좌표가 500보다 작은 것만 출력해줘" 라는 의도를 표현
- 명령어의 나열이 아니라 데이터 흐름의 조합
🔗 선언형과 함수형의 연결
- RxJS는 순수 함수와 불변성을 지향하는 함수형 API를 제공
- map, filter, reduce 같은 연산자를 기반으로 구성
- 이벤트나 비동기 작업을 "데이터처럼" 다루는 점에서 선언형에 가깝다
'Web Development > Next.js' 카테고리의 다른 글
[RxJS] 3편. RxJS로 CRUD 구현하기 – 그리고 절차형처럼 느껴지는 부분 (0) | 2025.03.23 |
---|---|
[RxJS] 2편. React에서 RxJS로 상태관리를 한다는 것은? (0) | 2025.03.23 |
React에서 useEffect를 꼭 써야 할까? — 오히려 안 써도 되는 경우가 더 많다 (0) | 2025.03.23 |
React를 쓰면서도 몰랐던 선언형 프로그래밍 이야기 (0) | 2025.03.23 |
[Next.js] Next.js 라우팅 방식의 장점과 다른 방식들과의 차이점 (0) | 2024.12.22 |