본문 바로가기
프로그래밍 언어/JS

JavaScript) 일급 객체와 고차 함수

by nomfang 2022. 3. 15.
728x90
반응형

일급 객체

특별한 대우를 받는 객체, 대표적으로 함수가 있다

함수

  • 변수에 할당 가능
  • 다른 함수의 인자로 전달 가능
  • 다른 함수의 결과로 리턴 가능

함수 표현식 (변수에 함수를 할당하는 경우)

  • 함수는 일급 객체이기 때문에 변수에 저장 가능
  • 함수 표현식으로 사용 시 할당 전에 사용할 수 없다 (호이스팅 적용 x)
  • 호이스팅을 제외하면 함수 선언식과 크게 차이 없음

함수 선언식의 호이스팅에 지나치게 의존하게 되면, 코드의 유지보수가 쉽지 않다.
함수 표현식을 사용하면 어느정도 예측 가능한 위치에 코드가 존재하기 때문에 유지보수에 유리

고차 함수

고차 함수는 함수를 인자로 받을 수 있고, 함수를 리턴할 수 있는 함수

callback 함수

고차 함수에서 인자로 전달되는 함수
어떤 작업 완료 후 호출되는 경우가 많기 때문에 call back이라는 이름 사용

커리 함수

함수를 리턴하는 함수
리턴 값이 함수인 함수를 커리 함수로 명칭 시에, 고차 함수는 보통 인자 값으로 함수를 받는 경우에만 사용

반응형

댓글