[JS] 일급객체 (First Class Object)

이애진·2022년 11월 30일
0

JavaScript

목록 보기
11/16
post-thumbnail

1. 일급객체 (First Class Object)?

다른 객체들에 일반적으로 적용 가능한 연산을 모두 지원하는 객체를 가르킨다
일급객체가 되기 위한 조건은 아래와 같다

  • 변수에 할당할 수 있고 값으로 다룰 수 있다
const a = () => {
  return "Hello World";
}

console.log(a); // () => { return "Hello World"; }
console.log(a()); // "Hello World"
  • 함수의 인자로 사용될 수 있다
const a = () => { return 10; }
const b = (param) => console.log(param);

b(a()); // 10
  • 함수의 결과로 사용될 수 있다
const a = () => {
  return () => console.log("Hello World");
}

const b = a(); // () => console.log("Hello World")
b(); // "Hello World"

2. 결론

위에 대한 조건으로 인해 알 수 있는 것은 함수를 변수에 할당해서 다룰 수 있다
그렇기 때문에 다양하게 활용할 수 있다

  1. 고차함수 (HOC)를 만들어 사용할 수 있다
  2. 콜백 패턴을 사용할 수 있다
  3. 클로저를 사용해 커링과 메모이제이션이 가능하다

ref

profile
Frontend Developer

0개의 댓글