wikipeida - 컴퓨터 프로그래밍 언어 디자인에서 일급 객체(first-class object)란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가리킨다.
보통 함수에 인자로 넘기기, 수정하기, 변수에 대입하기와 같은 연산을 지원할 때 일급 객체라고 한다.
일급 객체는 다음 3가지 조건을 모두 충족한 객체를 말한다.
1. 모든 일급 객체는 변수나 데이터에 담을 수 있어야 한다.
const func = function() {
console.log("I'm function");
}
2. 모든 일급 객체는 함수의 파라미터로 전달 할 수 있어야 한다.
function func() {
console.log("I'm function");
}
function sendMessage (str, func) {
console.log(str + func())
}
sendMessage('Hello', func); // Hello I'm function
3. 모든 일급 객체는 함수의 리턴값으로 사용 할 수 있어야 한다.
function sayHello() {
return function() {
console.log("Hello");
}
}
sayHello()(); // Hello