1급 객체(first-class object)란?
일급 객체란 다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가르키며 아래 3가지 조건만 충족하면 1급 객체라고 할 수 있다.
1. 변수에 데이터를 할당 할 수 있어야한다
function sayHello() {
return "Hello, ";
}
function greeting(helloMessage, name) {
console.log(helloMessage() + name);
}
greeting(sayHello, "JavaScript!"); // Hello, JavaScript!
변수에 함수를 저장하기 위해 const 키워드를 사용하여 함수를 정의합니다. 여기서 익명 함수로 사용되지만 원하는 경우 명명 함수로도 사용할 수 있습니다.
const foo = function() {
console.log("foobar");
}
foo(); // 변수 foo로 호출
2. 객체의 파라미터로 전달할 수 있다.
function sayHello() {
return "Hello, ";
}
function greeting(helloMessage, name) {
console.log(helloMessage() + name);
}
// `sayHello`를 `greeting` 함수 파라미터로 전달
greeting(sayHello, "JavaScript!"); // Hello, JavaScript!
3. 객체의 리턴값으로 리턴할 수 있어야한다
function sayHello() {
return function() {
console.log("Hello!");
}
}
Last updated