모든 프로그래밍 패러다임은 성공적인 프로그래밍을 위해 존재좋은 프로그램을 만드는 일좋은 프로그램은 사용성, 성능, 확장성 등이 좋다이 것들을 효율적으로 생산적으로 이루는 것순수 함수를 사용하여 부수 효과를 줄이고모듈화 수준을 높여 조합성을 높인다리턴 외에는 외부와 소통
함수형 프로그래밍 어떤 문제는 객체지향 설계 방식으로도 해결할 수 있지만 자바스크립트는 상태 공유가 보편적, 동적인 언어라 복잡성이 증가하고 가독성이 떨어진다 최근 유행하는 리액티브 프로그래밍은 데이터 흐름과 변경 전파에 초점을 둔다 애플리케이션 설계 시 다음과
지배적인 패러다임은 없다적절히 필요한 곳에 사용하면 된다함수형 프로그램은 호출자로부터 데이터를 숨길 필요 없이 소규모 자료형만을 대상으로 움직인다데이터와 기능을 느슨하게 결합한다여러 자료형에 두루 적용 가능하고 굵게 나뉜 연산에 더 의존한다객체 지향은 특정 기능이 구현
순수한 함수를 서로 연결하는 방법과 재귀적 사고를 통해선언적 프로그램을 작성할 수 있다프로그램이 정답에 이르기까지 거치는 경로를 제어 흐름이라고 한다명령형 프로그램은 작업 수행에 필요한 전 단계를 노출하여 흐름이나 경로를 자세히 서술한다선언적 프로그램, 특히 함수형 프