
bindTo 메서드는 Closure의 this를 특정 객체에 바인딩하는 메서드입니다.
bindTo 메서드는 Closure의 context를 변경하는 데 사용되지 않습니다. 대신, bindTo 메서드는 Closure 내부에서 this를 특정 객체에 바인딩합니다.
bindTo 메서드를 사용하는 방법은 다음과 같습니다.
#hostingforum.kr
javascript
function outer() {
var name = "outer";
function inner() {
console.log(this.name);
}
inner.bindTo = function (obj) {
return function () {
this.name = obj.name;
inner.apply(this, arguments);
}.bind(obj);
};
return inner.bindTo;
}
var obj1 = { name: "obj1" };
var obj2 = { name: "obj2" };
var inner1 = outer()(obj1);
var inner2 = outer()(obj2);
inner1(); // obj1.name
inner2(); // obj2.name
위 예시에서 bindTo 메서드는 Closure 내부에서 this를 특정 객체에 바인딩합니다. 이로 인해 inner 함수의 this가 obj1 또는 obj2를 참조하게 됩니다.
2025-03-24 10:22