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
'JavaScript' 카테고리의 다른 글
[Javascript] this 간단 정리 (0) | 2022.03.16 |
---|---|
[Javascript] constructor 와 non-constructor (0) | 2022.02.21 |
[Javascript] 스코프 체인과 렉시컬 스코프 (0) | 2022.02.18 |
[Javascript] 스코프 Scope (0) | 2022.02.14 |
[Javascript] Reduce 메서드란 ? (0) | 2022.01.25 |