객체 VS 함수 VS 생성자 함수

boyeonJ·2023년 7월 11일
0

JavaScript Basic

목록 보기
19/24

객체 VS 함수 VS 생성자 함수

함수 = 객체

함수는 완전히 객체처럼 동작할 수 있는데, 그 이는 객체가 가지고 있는 내부슬롯, 내부 매서드를 가지고 있기 때문입니다.

객체 != 함수

그런데 객체는 함수가 아닙니다. 왜냐하면 함수만이 가지고 있는 내부슬롯과 내부 매서드가 존재하기 때문입니다.

  • 내부 슬롯: [[Enviroment]], [[FormalParameters]]
  • 내부 매서드: [[Call]], [[Construct]]

callable 객체

내부매서드 [[Call]]을 가지는 객체를 callable 객체 (=callable 함수 객체)라고 합니다.

contructor 함수 객체

callable 함수 객체 중에서 [[contructor]]을 가지는 객체를 contructor 함수 객체라고 하며, 가지지 않는 객체를 non-contructor 함수 객체라고 합니다. 자바스크립트 객체는 함수 정의 방식에 따라서 이 둘을 구별합니다.

  • contructor: 함수 선언문, 함수 표현식, 클래스
  • non-contructor: 화살표 함수

0개의 댓글