더북(TheBook)

FP에는 다음 특징이 있습니다.

선언적(declarative) 함수형 코드는 특수한 비즈니스 로직을 적용하고자 자바스크립트의 고차 함수를 활용하는 독특한 스타일이 있습니다. 나중에 살펴보겠지만, 함수 체인(파이프라인이라고도 함)은 데이터 변환 단계를 관용적인 방식으로 묘사합니다. 대부분의 사람은 SQL 구문을 선언적 코드의 완벽한 예로 봅니다.

불변성(immutable) 불변 프로그램(불변 함수, 모듈 또는 전체 프로그램을 뜻함)은 데이터를 생성한 후나 변수가 선언된 후에 이를 변경하거나 수정하지 않는 프로그램입니다. 특히 객체 지향을 기본으로 공부해왔다면 이해하기 어려운 급진적인 개념일 수 있습니다. FP는 데이터를 불변의 일정한 값으로 다룹니다. 익숙한 모듈 중 좋은 예는 String 타입입니다. 어떠한 작업도 이 타입이 작업하는 문자열을 바꾸지 않기 때문입니다. 오히려 새로운 문자열을 반환합니다. 이 책에서는 모든 변수를 const로 한정하여 재할당할 수 없는 블록 범위의 불변 변수로 만듭니다. 이렇게 하면 불변성 문제가 모두 해결되는 것은 아니지만, 데이터와 함수들을 전역으로 공유할 때 어느 정도 추가 지원을 받을 수 있습니다.

부가 작용 없음(side effect free) 부가 작용이 있는 함수는 지역 범위 밖에 있는 데이터에 따라 결과가 달라집니다. 함수의 범위는 인수와 그 안에 선언된 모든 지역 변수로 구성됩니다. 이 외의 작업(파일 읽기, 콘솔 출력, HTML 페이지에 요소 렌더링 등)은 부가 작용으로 간주하므로 피하거나 최소한으로 격리해야 합니다. 이 책에서는 RxJS가 부가 작용이 없는 연산을 구독자에게 보냄으로써 이런 문제를 처리하는 방법을 배우게 됩니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.