함수형 프로그래밍 / 선언형

๑'ٮ'๑·2022년 8월 11일
0

작지만 조합성이 좋은 함수들을 활용하여 선언적이고 안전한 프로그래밍을 할 수 있다.

  • 프로그램의 동작을 예측하기 쉬워지고,
  • 함수의 실행 결과 또한 보다 안전해진다.

함수형 프로그래밍의 3요소

순수함수

  • 함수의 동작이 함수 인자에만 의존하므로 동일한 입력에는 항상 같은 값을 반환함. 따라서 함수 실행에 따른 부수 효과(side effect)가 없음. 무상태성(stateless)를 지향하여 외부 변수에 접근 후 이를 변화시키는 등의 동작이 없음

불변성

  • 데이터의 변경이 필요한 경우 원본 데이터 구조를 변경하지 않고 복사본을 만들어서 사용함.

선언형 함수

  • 명령형 프로그램이 '어떻게(How)'에 집중하는 반면, 선언형 프로그래밍은 '무엇을(What)'에 집중하는 패러다임
  • How를 감추고, What을 노출하는 방식의 추상화이다.

How와 What으로 코드 분리하기

➡ 리팩토링 전 / 후

  • How에 해당하는 useEffect, 이벤트리스너 등록 로직커스텀 훅으로 분리
    • 인자로 콜백함수(effect)와 deps를 받는다.
  • What에 해당하는 숫자, scrolled, setScrolled만 노출시켜 선언적으로 작성

🔗 Reference

profile
프론트엔드

0개의 댓글