일급객체

  1. 무명의 리터럴로 생성 가능, 즉 런타임에 생성 가능
  2. 변수나 자료구조(객체, 배열_) 에 저장가능
  3. 함수의 마개변수에 전달할 수 있음.
  4. 함수의 return값으로 사용 가능.

JS의 함수는 위 4개의 조건을 모두 만족함으로 일급객체이다.

함수도 객체임으로 함수도 프로퍼티를 가질 수 있음.

근데 특이한건 함수객체는 일반 객체와는 다른 고유의 프로퍼티를 가짐.

__ proto__ 접근자 프로퍼티

<aside> 💡

모든 객체는 [[Prototype]] 이라는 내부슬롯을 가짐.

객체지향 프로그래밍의 상속을 구현하는 프로토타입 객체.

</aside>