inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

코어 자바스크립트

바인딩에 대한 이해

해결된 질문

260

seed

작성한 질문수 7

0

2-4. 메소드

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

javascript

답변 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를 어떤 것으로 인식할 것인지가 해당 함수 또는 메소드를 호출하는 시점에 결정된다고 이해하시면 되겠습니다.

인스턴스에서 prototype 프로퍼티에 직접 접근해야하는 이유

0

59

1

setTimeout 에서 this

0

81

1

2강부터 영상이 나오지 않습니다.

0

176

1

자바스크립트 주석에 이상한 점이 있어서 문의드립니다.

0

221

2

return 문 안에 여러 함수가 존재하는 것이 이해되지 않습니다.

1

259

1

클래스 static 멤버

1

253

1

실행컨텍스트와 스택프레임

2

567

1

프로토타입으로 상속할때 브릿지 사용 이유

0

320

1

호이스팅 관련 질문

1

335

1

책 66p. 예제 3-2 질문입니다.

0

356

1

강의 내용 10:58 캡슐화 질문입니다.

1

399

1

강의 내용 5:10 질문입니다.

1

422

2

전역 공간에서의 this

0

426

2

18:31 addEventListener의 this

1

480

1

outerEnvironmentReference 질문

1

372

1

실행 컨텍스트와 클로저에 대해 질문드립니다.

1

448

1

Object.prototype.constructor의 [[prototype]] ?

1

658

1

함수를 값으로 할당할 때

2

458

1

15:54 'ddd' 사라지는 오류?

4

375

1

프로토타입 getPrototypeOf(instance).constructor(n,a) 질문입니다.

1

406

1

기본형/가변형 질문입니당

0

334

0

선생님 그러면 섹션 0만 봐도 무방한가요!?

0

338

1

Hoisting과 environmentRecord에 관한 질문입니다.

1

294

1

안녕하세요, 데이터 변경 질문입니다.

0

330

1