일급객체와 함수 

 

일급객체는 리터럴로 생성할 수 있다. 런타임 시 생성된다.

변수나 자료구조에 저장가능하다.

매개변수로 사용 가능하다

메서드로 사용 가능하다.

 

함수객체의 프로퍼티는 argument, length, __proto__, prototype, caller?, name 등이 있다.

 

argument는 함수 호출 시 받은 인수를 알 수 있다. 전달 받은 인수를 저장하며, 매개변수를 초과해서 받더라도 초과한 인수 역시 저장한다. argument의 length는 받은 인수의 숫자를 나타낸다. 그러므로 인수의 개수에 따라 행동이 달라지는 구조를 만들 때 유용하다.유사 배열 객체로 배열이 아니므로 배열 메서드를 바로 사용하면 에러가 발생한다. 사용하기 위해선 간접호출을 해야한다.

 

length 매개변수의 숫자를 알려준다. argument의 length는 인수의 숫자이므로 주의를 해야한다.

 

__proto__ [[prototype]]라는 내부슬롯이 가리키는  프로토타입 객체에 접근할 수 있다.

 

prototype 생성자 함수에만 존재한다. 생성자 함수 호출 시 인스턴스의 프로토타입을 가리킨다.

 

caller? 함수 자신을 호출한 함수를 가리킨다. 호출이 없다면 null이다. 

 

 

 

적지 못한 내용 

-> name 함수이름을 나타낸다. ES5에서는 함수 이름이 없다면 빈 문자열을 가졌지만 ES6 부터는 식별자를 값으로 갖는다.

'진행중 > 백지쓰기[복습]' 카테고리의 다른 글

백지쓰기 6일차  (0) 2022.09.04
백지쓰기 5일차  (0) 2022.08.23
백지쓰기 4일차  (0) 2022.08.21
백지쓰기 3일차  (0) 2022.08.20
백지쓰기 2일차  (0) 2022.08.19

+ Recent posts