• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

화살표 함수에서 this

23.06.05 02:34 작성 23.06.05 02:44 수정 조회수 269

0

안녕하세요 :)
좋은 강의 제공해주셔서 감사합니다. 덕분에 타입스크립트에 대해 많이 알아가고 있어요.

이전 강의와는 달리 화살표 함수를 통해 클래스를 함수로 변환하셨는데 그 과정에서 궁금한 점이 있습니다.

화살표 함수에서 this는 상위 컨텍스트의 this(영상 속 add 함수의 경우 전역 객체인 global)를 가리키므로, 작성해주신 add 함수에서의 _this는 IAdd가 아닌 globalThis가 맞는 게 아닌지 의문이 들어 질문드립니다. 제가 모르는 거나 놓치는 게 있어서 이해를 못 하는 것 같은데 알려주시면 감사하겠습니다 ㅠㅠ..

답변 1

답변을 작성해보세요.

0

질문 주셔서 감사합니다. 일단 먼저 제가 처음이다보니 미숙한점 죄송합니다.. ㅠㅠ


_this는 IAdd가 아닌 globalThis가 맞는 게 아닌지 의문
-> 네 맞습니다. 화살표 함수에서는 this를 호출한 컨텍스트로 가는게 맞습니다. 저 예제에서는 globalThis 때문에 객체를 못 만드는 상황에서 단순히 타입을 as로 우회하는 것을 보여드릴려고 저런 영상을 촬영한 것이고, 뒷 바로 강의에서 실제 코딩하실때는 "function + 모듈별로 파일 분리" 식으로 하는게 맞습니당.

실제로는 이러한 방법이 쓰이지 않습니다. 예전에 인터렉티브한 요소가 많은 web프로젝트를 만들면서 갑자기 생각이나 넣은 강의입니다.

Docker님의 프로필

Docker

질문자

2023.06.10

안녕하세요

답변 감사드립니다 !

그러면 저 예제에서 _this는 globalThis 타입의 객체가 맞지만, as를 통해 IAdd 타입으로 우회하는 방법을 보여주신 것으로 보면 되는 걸까요?

저 상황만 보면 그렇습니당. 화살표 함수에서 this가 가끔 타입추론이 잘 안될 때도 많고 외부에서 가져다 쓸때도 잘 안될때가 있어서 그냥 우회 하는 방법을 참고용으로만 알아두시면 될 것 같습니당

Docker님의 프로필

Docker

질문자

2023.06.10

네 감사합니다 :)