개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.24 10:21

Closure::bindTo 관련 질문 내용

목록
  • HTTP전문가 1일 전 2025.03.24 10:21
  • 2
    1
제가 현재 JavaScript Closure와 bindTo 메서드를 공부 중인데, bindTo 메서드의 정확한 역할과 사용 방법에 대해 이해가 잘 안 가는 부분이 있습니다.

bindTo 메서드는 Closure의 context를 변경하는 데 사용되나요? 그리고 bindTo 메서드를 사용하는 방법은 어떻게 되나요?

제가 이해한 바로는 bindTo 메서드는 Closure의 this를 특정 객체에 바인딩하는 메서드라고 알고 있습니다. 하지만 이 메서드의 정확한 동작 방식과 사용 예시를 알려주시면 정말 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  1일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,412건 / 2 페이지

검색

게시물 검색