자바스크립트
this 바인딩
devjones
2022. 1. 9. 18:59
메소드내부에서의 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');