2019. 9. 15. 18:31ㆍProgramming/JavaScript
이 글은 인프런에서 게재되어있는, 유인동 님의
자바스크립트로 알아보는 함수형 프로그래밍
을 수강하면서 정리한 노트입니다. 제가 잘못 이해하거나 정리한 내용이 있다면 댓글로 알려주세요. 확인하는대로 수정하도록 하겠습니다. :)
"함수형 프로그래밍은 어플리케이션, 함수의 구성요소, 더 나아가서 언어 자체를 함수처럼 여기도록 만들고, 이러한 함수 개념을 가장 우선순위에 놓는다." by 마이클 포거스, 클로저 프로그래밍의 즐거움.
"함수형 사고방식은 문제의 해결 방법을 동사(함수)들로 구성(조합)하는 것" by 마이클 포거스, 클로저 프로그래밍의 즐거움.
데이터(객체) 기준의 코드는 아래와 같다.
duck.moveLeft(); duck.moveRight(); dog.moveLeft(); dog.moveRight();
위의 예제처럼 코드가 객체를 기준으로 동작하는 경우, 객체지향 프로그래밍이라고 한다.
객체지향 프로그래밍에서는 데이터를 먼저 만들고, 데이터에 맞는 메소드를 작성하게 된다.
예를 들어moveLeft
와moveRight
를duck
과dog
가 갖게 하기 위해서,Animal
클래스를 먼저 만든 뒤duck
과dog
가 상속받는 형태가 된다.
함수 기준의 코드는 아래와 같다.
moveLeft(dog); moveRight(duck); moveLeft({x:5, y:2}); moveRight(dog);
위의 예제처럼 코드가 함수를 기준으로 동작하는 경우, 함수형 프로그래밍이라고 한다.
함수형 프로그램이에서는 함수를 만들고, 함수에 맞는 데이터를 작성하게 된다. 먼저moveLeft
와moveRight
를 만들고, 이 함수에서 사용할 수 있도록 데이터dog
,duck
,{x:5, y:2}
를 만드는 형태가 된다.
참고:
'Programming > JavaScript' 카테고리의 다른 글
[Javascript] 배열 초기화 시 new Array()보다는 []를 사용하자 (0) | 2019.11.28 |
---|---|
자바스크립트로 알아보는 함수형 프로그래밍 정리노트#4, 함수형으로 전환하기 (0) | 2019.09.22 |
자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #2 (0) | 2019.09.15 |
자바스크립트로 알아보는 함수형 프로그래밍 정리노트 #1 (0) | 2019.09.15 |
Tic-Tac-Toe #1 (0) | 2019.08.21 |