GRAMMAR

Record
  • account_tree
  • bug_report

일급 객체(First Class Object)

자바스크립트에서는 함수를 일급 객체(first class object)로 불린다. 일급 객체는 다른 객체들에게 일반적으로 적용되는 연산을 모두 지원하는 객체를 의미한다.

자바스크립트에서 함수가 일급 객체라 불리는 이유

"자바스크립트에서 함수는 객체다. 그것도 일급 객체다." 라는 표현을 많이 듣는다. 자바스크립트의 함수는 다른 언어와는 다르게 다음과 같은 항목이 가능하며 이와 같은 이유로 일급 객체로 불린다.

  • 변수(variable)에 담을 수 있다.
  • 인자(parameter)로 전달할 수 있다.
  • 반환 값(return value)으로 전달 할 수 있다.
  • 런타임(runtime) 생성이 가능하다.
  • 익명(anonymous)으로 생성이 가능하다.

참고로 함수를 인자로 받을 수 있고 결과를 함수로 반환이 가능한 함수를 '고차함수(High order function)'라 부른다. 자바스크립트의 함수는 고차함수 구현이 가능하다.