티스토리 뷰

JAVASCRIPT

[Javascript] 객체로서의 함수

jeongah story 2020. 4. 19. 17:34

[모던자바스크립트] 

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