메소드내부에서의 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 |