함수 지향 언어 Javascript에 대해

kim yeseul·2023년 10월 18일
0

Javascript

목록 보기
5/8
post-thumbnail
post-custom-banner

Function (함수)

자바스크립트는 함수 지향형 프로그래밍이고 최근 들어서는 객체 지향의 장점들이 추가되는 중이다.

함수 지향이란?

프로그래밍 패러다임의 한 종류로써, 순수 함수를 조합하고 함수를 일급 객체로써 사용하여 프로그래밍하는 방식

프로그래밍 패러다임이란?

개발자에게 프로그래머로서의 관점을 갖게 하고 결정하는 역할 -> 개발 방법 중 하나

명령형 vs. 선언형

명령형

  1. 절차 지향: 순서를 중요시. 컴퓨터의 처리구조와 비슷하고 속도가 빠르다(C, Cobol 등)
  2. 객체 지향: 객체(집단)의 상호작용을 중요시. 유지 보수에 용이(Java, C++), 단일책임의 원칙(집단으로 나눠 관리하기 때문에 문제 발생한 집단만 유지보수하면 된다), 단, 절차지향보단 느리다는 단점이 있다

선언형

어떻게 할 것인가보다는 무엇을 할 것인가가 중요하다.
함수 지향: 순수 함수를 조합하고 프로그래밍하는 방식(Javascript)

함수 지향 프로그래밍 관련 용어

  • 불변성 : 함수 밖에서 데이터의 변형을 일으켜서는 안된다.
  • 클로저 : 부모 함수가 실행 종료 되어도 참조할 수 있는 내부 함수는 기억 된다.
  • 순수 함수 : 입력 값에만 의존하고, 부수 효과는 연산에 영향을 미치지 않는다.
  • 일급객체 함수 : 함수를 입력 값(파라미터, 매개변수, 인자)으로 사용할 수 있고, 반환값(출력)으로 사용할 수 있다.
  • 유지 관리 가능성 : 외부 효과에 의존되지 않으면 해당 부분만 수정하면 되므로 유지보수가 쉽다
  • 모듈화 : 함수를 분리하여 재사용 및 관리가 용이하도록 구성해야 한다.
  • 부수 효과 : 함수 밖에서 함수의 연산에 영향을 끼치면 안된다. (외부 효과, side effect)
  • 참조 투명성 : 동일한 값에는 항상 동일한 반환 값을 가진다.
profile
출발선 앞의 준비된 마음가짐, 떨림, 설렘을 가진 주니어 개발자
post-custom-banner

0개의 댓글