함수를 변수와 같이 다루는 언어에 있는 개념
JavaScript의 함수도 일급 객체 함수는 기본적으로 객체
프로그래밍 언어는 해당 언어의 함수들이 다른 변수처럼 다루어질 때 일급 함수를 가진다고 합니다. 예를 들어, 일급 함수를 가진 언어에서 함수는 다른 함수들에 전달인자로 제공되고, 다른 함수에 의해 반환될 수 있으며, 변수에 값으로서 할당될 수 있습니다.
1.상수 또는 변수에 할당될 수 있음
객체와 배열의 값으로도 할당 가능
객체의 다른 프로퍼티에 접근 => this 사용!
2. 다른 함수에 인자로 전달될 수 있음
함수가 다른 함수를 인자로 전달받음
전달받는 함수 : 고차 함수 highter-order function
전달되는 함수 : 콜백 함수 callback function
인자로 전달된 함수들 : 변수나 상수에 할당되지 않아 이름이 없음 - 익명 함수 anonymous function
3.다른 함수의 결과값으로서 반환될 수 있음