this인자와 this바인딩, 메소드 호출시 this바인딩

CODEDRAGON Development/JavaScript, jQuery, ...

반응형

 

 

this인자와 this바인딩

·       함수를 호출할 때 매개변수로 전달되는 인자값과 arguments객체외에 this인자도 함수 내부에 암묵적으로 전달됩니다.

·       this는 자바스크립트의 함수가 호출되는 방식(호출 패턴)에 따라 this가 참조하는 객체가 달라집니다. 이것을 this 바인딩이라고 합니다.

 

 

 

 

메소드 호출시 this바인딩

·       객체의 프로퍼티가 함수일 경우, 이 함수를 메소드라고 합니다.

·       이 메소드를 호출할 때, 메소드 내부 코드에서 사용된 this는 해당 메소드를 호출한 객체로 바인딩됩니다.

·       자바스크립트에서 함수를 호출하게 되면 해당 함수 내부 코드에 사용된 this전역 객체에 바인딩됩니다.

·       자바스크립트의 모든 전역 변수는 이 전역 객체의 프로퍼티입니다.

 

전역 객체

설명

window 객체

·       브라우저환경에서 자바스크립트를 실행한 경우라면 전역 객체는 window객체가 됩니다.

·       전역변수는 전역객체(window)의 프로퍼티로 접근가능합니다.

·       자바스크립트에서 함수를 호출하면 this는 자동으로 전역객체에 바인딩됩니다.

global 객체

·       Node.js와 같은 자바 스크립트를 통해 서버 프로그램을 할 수 있게 해주는 자바스크립트 런타입 환경에서의 전역 객체는 global객체입니다.