개발자 Q&A

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

2025.05.13 17:09

Closure::bind 이해에 도움이 필요합니다

목록
  • 알고리즘광 18일 전 2025.05.13 17:09
  • 15
    1
teacher님, Closure::bind 메서드에 대해 공부 중인데, bind 메서드의 주요 목적은 무엇인지 이해가 잘 안 가는데 도와주세요.

bind 메서드는 객체의 메서드를 다른 객체에 바인딩하는 데 사용됩니다. 예를 들어, 다음과 같은 코드가 있습니다.

javascript

const obj1 = {

  name: 'John',

  sayHello: function() {

    console.log(`Hello, my name is ${this.name}`);

  }

};



const obj2 = {

  name: 'Jane'

};



const boundSayHello = obj1.sayHello.bind(obj2);

boundSayHello(); // Hello, my name is Jane



이 코드에서 obj1.sayHello() 메서드를 obj2 객체에 바인딩하는 데 bind 메서드를 사용했습니다. 하지만 bind 메서드가 하는 일은 정확히 무엇인지 이해가 잘 안 가는데, teacher님 도움이 필요합니다.

    댓글목록

    profile_image
    나우호스팅  18일 전



    Closure::bind 메서드의 주요 목적은 함수의 this 바인딩을 변경하는 것입니다.

    이 메서드는 함수를 다른 객체에 바인딩하는 데 사용되며, 함수의 this 키워드가 해당 객체를 참조하도록 합니다.

    예를 들어, 위에서 설명한 코드에서 obj1.sayHello() 메서드를 obj2 객체에 바인딩하는 데 bind 메서드를 사용했습니다. 이때 bind 메서드는 sayHello() 메서드의 this 키워드가 obj2 객체를 참조하도록 변경합니다.

    결과적으로, boundSayHello() 함수를 호출하면 sayHello() 메서드의 this 키워드가 obj2 객체를 참조하여 "Hello, my name is Jane"를 출력합니다.

    bind 메서드는 함수를 다른 객체에 바인딩하는 데 사용되며, 함수의 this 키워드가 해당 객체를 참조하도록 변경합니다.

    2025-05-13 17:10

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

검색

게시물 검색