JS 함수형 언어?
2020. 8. 13. 15:26ㆍ공부내용 공유하기
JS는 함수형 프로그래밍 언어처럼 주로 사용된다.
물론 ES6부터 js class등이 도입되는 등 객체지향 언어의 장점을 취하려는 여러 변화들이 있었고 앞으로도 있을테지만, 기본적으로는 그렇다는 말이다.
여태까지 내가 접했던 java나 python은 모든 것이 객체를 기반으로 동작한다.
js는 완벽한 함수형 프로그래밍 언어는 아니지만 함수형 프로그래밍 언어 스타일을 사용하고 있다.
함수형 프로그래밍의 원칙은 다음과 같다.
- 입출력이 순수해야 함 (순수함수)
- 부작용(부산물)이 없어야 함
- 함수와 데이터를 중점으로 생각
입출력이 순수하다는 것은, 파라미터로 하나 이상의 인자(파라미터)를 받고, 받은 인자를 처리해서 반드시 결과를 return해야 한다는 뜻이다. 받은 인자를 제외한 다른 변수는 사용하지 않는다.
js에서 순수함수를 사용하는 경우는 많지 않지만, 최대한 비슷하게는 구현 할 수 있다고 한다.
중요한 키워드는
함수 내에서 사용할 변수들은 모두 인자로 받아와야 한다는 점.
반복문이 아닌 재귀 형태로 코드를 작성해서 재사용성을 극대화 한다는 점.
이렇게 두 가지가 되겠다.