• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

바인딩에 대한 이해

18.03.26 19:08 작성 조회수 173

0

2-4. 메소드

코드를 보고 왜 이러한 결과물이 나오는지에 대해서는 설명을 통해서 알겠는데 this 를 바인딩 한다는 것에서 바인딩 이라는 것을 어떻게 이해해야 좋을 지 알고싶습니다. 바인딩에 대해 조금 찾아보니 특정객체에서 실행되게끔 고정시키는 역할, 속성과 개체사이의 연관 이런 식으로 나오는데 애매하게 넘어가면 중요한 부분을 놓치고 가는 것 같아서 여쭤봅니다.

답변 1

답변을 작성해보세요.

2

https://www.inflearn.com/unit/2-3-%ED%95%A8%EC%88%98%EC%8A%A4%EC%BD%94%ED%94%84-%EC%8B%A4%ED%96%89%EC%BB%A8%ED%85%8D%EC%8A%A4%ED%8A%B8/
바로 앞 강의 내용에서 실행컨텍스트에 대해 설명하면서, this 바인딩에 관해 언급한 바 있습니다.
bind는 '묶다, 결속시키다' 라는 의미입니다.
execution context가 생성될 때 자바스크립트 엔진은 해당 함수 또는 메소드를 실행시키기 위해 필요한 정보들, 즉 어떤 지역변수들이 선언되었는지, this에는 무엇이 담겨야 하는지 등의 정보들을 정하는 작업을 수행하는데, 이 때 this의 정보를 담는 과정을 흔히 '바인딩한다'라고 표현합니다.
여타의 언어들과 달리 자바스크립트는 new 연산자, 프로토타입 체이닝 혹은 call, apply 등에 의해 각 상황별로 실행되는 시점에 비로소 this에 대상이 연결되는 '동적' 바인딩이 이뤄집니다. 함수 또는 메소드 내부에서 this를 어떤 것으로 인식할 것인지가 해당 함수 또는 메소드를 호출하는 시점에 결정된다고 이해하시면 되겠습니다.