객체 참조(바인딩) 규칙

CODEDRAGON Development/JavaScript, jQuery, ...

반응형


 

 

객체 참조(바인딩) 규칙

javascript this 해당 함수 호출 패턴에 따라 객체를 어떻게  참조하는지에 대한 규칙입니다.

 

구분

설명

1

·       기본적으로 this 전역 객체 참조합니다.

2

·       메소드 내부의 this 해당 메소드를 호출한 부모 객체 참조합니다.

3

·       생성자 함수 코드 내부의 this 새로 생성된 객체 참조합니다.

4

·       call() apply() 메소드로 함수를 호출할 , 함수의 this 번째 인자로 넘겨받은 객체 참조합니다.

5

·       프로토타입 객체 메소드 내부의 this 해당 메소드를 호출한 부모 객체 참조합니다.

·       호출의 주체인 콘텍스트 객체로 호출됐다면 바로 콘텍스트 객체로 바인딩됩니다.

6

·       JavaScript this 키워드는 접근제어자 public 역할 합니다.

·       기본 바인딩에서 엄격 모드는 undefined, 밖엔 전역 객체로 바인딩됩니다.

 

JavaScript에서는 내부 함수 호출 패턴을 정의해 놓지 않기 때문입니다. 내부 함수도 결국 함수이므로 이를 호출할 때는 함수 호출로 취급되어 함수 호출 패턴 규칙에 따라 내부 함수의 this 전역 객체를 참조하게 됩니다.