본문 바로가기

자바스크립트

this 바인딩

메소드내부에서의 this.

 

-> this는 자신을 호출한 객체에 바인딩.

 

 

함수호출시 this 바인딩

-> 전역객체에 바인딩

-> 내부함수 역시 함수. 따라서 this는 전역 객체에 바인딩.

-> 내부함수에서 this바인딩: var that = this;

-> 제이쿼리에서, bind 메소드를 통해 사용자가 원하는 객체를 this에 바인딩할 수 있는 기능제공

 

생성자 함수 호출시 this 바인딩

var Person = function(name) {
    this.name = name;
};

var foo = new Person('foo');
console.log(foo.name);	// foo

 

call과 apply 메소드를 이용한 명시적인 this 바인딩

apply메소드의 첫번째 인자에 this가 바인딩된다.

call메소드는 기능은 같으나 형식이 다르다.

Person.call(foo, 'foo', 30, 'man');

 

'자바스크립트' 카테고리의 다른 글

프로토타입 체이닝  (0) 2022.01.29
생성자 함수가 동작하는 방식  (0) 2022.01.29
함수 생성  (0) 2022.01.08
연산자  (0) 2022.01.08
기본타입의 표준메소드  (0) 2022.01.08