• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

3-5. 주석과 메서드 바인딩 강의 중 화살표 함수와 기존 함수 선언의 this

22.07.01 02:48 작성 조회수 129

0

안녕하세요 선생님.

좋은 강의 잘 듣고 있습니다.

강의에서 화살표 함수와 this를 설명하시면서 하신 말씀이 잘 이해가 가지 않아 이렇게 질문 남깁니다.

기존 함수의 형태로 선언 시에 this.onSubmitForm = this.onSubmitForm.bind(this) 등의 코드를 따로 선언해주어야하며, 이를 화살표함수에서 자동으로 해준다고 말씀하셨습니다.

제가 화살표 함수에 대해서 배울 때에는 따로 this를 바인딩 하지 않고 화살표함수보다 한단계 외부에 있는 this를 그대로 가져와서 사용한다고 배웠고 더불어, 기존 함수 선언에서의 this 는 전역 객체를 말한다고 알고 있습니다.

자동으로 해준다기보다는 기존 함수 선언 방식에서는 this가 전역 객체로 선언되어있기때문에 따로 bind를 하는 과정이 필요하고, 화살표 함수는 this 바인딩을 따로 하지 않기 때문에(전역객체가 아니라 한단계 외부에 있는 this를 그대로 사용할 수 있기에) 해당 과정이 생략될 수 있는 것이 아닌가 하는 생각이 들었습니다.

혹시 제가 잘못 이해하고 있다면 올바르게 고쳐주시면 감사하겠습니다.

질 좋은 강의를 무료로 올려주셔서 다시 한 번 감사합니다!

좋은 하루 되세요!

답변 1

답변을 작성해보세요.

1

https://www.freecodecamp.org/news/this-is-why-we-need-to-bind-event-handlers-in-class-components-in-react-f7ea1a6f93eb/

이걸 읽어보세요.

자동으로라고 표현한 것은 화살표 함수는 상위 스코프의 this를 자동으로 바인딩해주는 거라서 그렇게 표현한 겁니다.