티스토리 뷰
[모던자바스크립트]
8.8 객체로서의 함수
8.8.1 함수는 객체
: 자바사크립트 함수는 Function 객체
특징
- 함수는 변수나 프로퍼티나 배열 요소에 대입할 수 있다.
- 함수는 함수의 인수로 사용할 수 있다.
- 함수는 함수의 반환값으로 사용할 수 있다.
- 함수는 프로퍼티와 메서드를 가질 수 있다.
- 함수는 이름 없는 리터럴로 표현할 수 있다.(익명 함수)
- 함수는 동적으로 생성할 수 있다.
이러한 작업이 가능한 객체를 "일급객체" 라고 합니다.
일급 객체인 함수는 "일급 함수" 라고 합니다.
8.8.2 함수의 프로퍼티
프로퍼티이름 | 설명 |
caller | 현재 실행 중인 함수를 호출한 함수 |
length | 함수의 인자개수 |
name | 함수를 표시할 때 사용하는 이름 |
prototype | 프로토타입 객체의 참조 |
Function 생성자의 prototype 객체의 프로퍼티를 상속받아서 사용합니다.
Function.prototype의 프로퍼티
프로퍼티 이름 | 설명 |
apply() | 선택한 this와 인수를 사용하여 함수를 호출한다. 인수는 배열 객체다. |
bind() | 선택한 this와 인수를 적용한 새로운 함수를 반환한다. |
call() | 선택한 this와 인수를 사용하여 함수를 호출한다. 인수는 쉼표로 구분한 값이다. |
constructor | Function 생성자의 참조 |
toString() | 함수의 소스 코드를 문자열로 만들어 반환한다. |
8.8.3 apply() ,call()
: this 값과 함수의 인수를 사용하여 함수를 실행하는 메서드.
apply() | call() 차이점 - 인수는 배열 | 인수는 쉼표로 구분한 값의 목록
8.8.4 bind()
: 객체에 함수를 바인드 합니다.
See the Pen [javasciprt] appy(),call(),bind() by jeongahlee (@jeongahlee) on CodePen.
'JAVASCRIPT' 카테고리의 다른 글
[Javascript] 버그와 오류에 대처하는 방법 (0) | 2020.04.26 |
---|---|
[Javascript] 고차함수 (0) | 2020.04.19 |
[Javascript] 이름공간 (0) | 2020.04.19 |
[Javascript] Set (0) | 2020.04.19 |
[Javascript] Map (0) | 2020.04.19 |
댓글
© 2018 eh2world