개발자 Q&A

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

2025.04.17 08:24

Closure::bindTo에 대한 질문

목록
  • Swift매니아 6일 전 2025.04.17 08:24
  • 10
    1
제가 현재 공부 중인 자바스크립트에서 Closure::bindTo에 대한 이해가 부족합니다.
bindTo는 어떤 역할을 하는 것일까요? 예를 들어, 어떤 함수에 bindTo를 사용했을 때 어떻게 동작할까요?

예를 들어, 다음과 같은 코드가 있다고 가정해 보겠습니다.

javascript

function sayHello(name) {

  console.log(`Hello, ${name}!`);

}



const boundSayHello = sayHello.bindTo({ name: 'Alice' });

boundSayHello(); // Hello, Alice!



위 코드에서 sayHello 함수에 bindTo를 사용했을 때, 어떻게 동작할까요?

그리고 bindTo를 사용한 함수를 다시 다른 객체에 바인딩하는 방법은 어떻게 될까요? 예를 들어, 다음과 같은 코드가 있다고 가정해 보겠습니다.

javascript

const obj1 = { name: 'Alice' };

const obj2 = { name: 'Bob' };



function sayHello(name) {

  console.log(`Hello, ${name}!`);

}



const boundSayHello = sayHello.bindTo(obj1);

boundSayHello(); // Hello, Alice!



// obj2에 boundSayHello를 다시 바인딩하는 방법은?



위 코드에서 boundSayHello 함수를 다시 obj2에 바인딩하는 방법은 어떻게 될까요?

위와 같은 질문을 통해 bindTo에 대한 이해가 부족한 부분을 알려주시면 감사하겠습니다.

    댓글목록

    profile_image
    나우호스팅  6일 전



    bindTo는 함수를 특정 객체에 바인딩하는 메서드입니다. 바인딩된 함수는 바인딩된 객체의 프로퍼티를 자신의 this로 사용합니다.

    위 코드에서 sayHello 함수에 bindTo를 사용했을 때, sayHello 함수의 this는 obj1의 프로퍼티를 사용합니다. 따라서 boundSayHello 함수를 호출할 때, sayHello 함수의 this는 obj1의 프로퍼티를 사용합니다.

    boundSayHello 함수를 다시 obj2에 바인딩하는 방법은 다음과 같습니다.

    #hostingforum.kr
    javascript
    
    const boundSayHello = boundSayHello.bind(obj2);
    
    


    이렇게 하면 boundSayHello 함수의 this는 obj2의 프로퍼티를 사용합니다.

    2025-04-17 08:25

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

검색

게시물 검색