함수는 객체이다. 따라서 메서드와 프로퍼티를 가진다. 

모든 함수에 공통인 프로퍼티는 length 와 prototype이다.

length : 함수가 넘겨받을 것으로 예상하는 이름 붙은 매개변수의 숫자

prototype : 모든 참조 타입의 인스턴스 메서드가 존재하는 곳.

toString(), valueOf() 같은 메서드가 존재 한다.

apply(), call() 이라는 함수의 메서드가 있다. 이 둘 모두 소유자인 함수를 호출하면서 this를 넘긴다.

apply() 메서드의 경우 - 첫번째 인자로 this, 두번째 인자로 arguments 또는 Array의 인스턴스를 넘긴다.

call() 메서드는 모든 기능이 apply() 메서드와 같고, 다만 두번째 인자로 arguments 나 Array가 아닌 매개변수를 나열해야 한다.

apply(), call()의 주요 기능은 this(실행 컨텍스트)를 바꾸는 데 있다.


bind() : 새 함수 인스턴스를 만드는데, 그 this는 bind()에 전달된 값이다.



+ Recent posts