남과 같이 해선 남 이상이 될 수 없다.

JavaScript

[Javascript] 일급 객체

맨동 2022. 2. 20. 22:29
728x90

일급 객체

일급 객체는 4가지 조건을 만족하는 객체를 말한다.

더보기

1. 무명의 리터럴로 생성할 수 있다. 즉, 런타임에 생성이 가능하다.

2. 변수나 자료구조(객체,배열 등)에 저장할 수 있다.

3. 함수의 매개변수에 전달할 수 있다.

4. 함수의 반환값으로 사용할 수 있다.

자바스크립트의 함수는 4가지 조건을 모두 만족하는 일급 객체이다.

// 1. 함수는 무명의 리터럴로 생성 가능
const increase = function(num) {
 return ++num;
};

const decrease = function(num) {
 return --num;
};

// 2. 함수는 객체에 저장이 가능
const predicates = { increase, decrease };

// 3. 함수는 매개변수에 전달 가능
function Counter(predicate) {
 let num=0;
 
 // 4. 함수의 반환값으로 사용 가능
 return fuction () {
  num = predicate(num);
  return num;
 };
}
 
const increaser = Counter(predicates.increase);
console.log(increase()); // 1
console.log(increase()); // 2

함수가 일급 객체라는 것은 함수를 객체와 동일하게 사용할 수 있다는 뜻이다.

728x90