인프런 커뮤니티 질문&답변

Docker님의 프로필 이미지

작성한 질문수

타입스크립트의 모든 것

type casting

화살표 함수에서 this

해결된 질문

23.06.05 02:34 작성

·

323

·

수정됨

0

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

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

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

답변 1

0

yongsoocho님의 프로필 이미지
yongsoocho
지식공유자

2023. 06. 05. 18:29

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


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

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

Docker님의 프로필 이미지
Docker
질문자

2023. 06. 10. 16:08

안녕하세요

답변 감사드립니다 !

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

yongsoocho님의 프로필 이미지
yongsoocho
지식공유자

2023. 06. 10. 16:16

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

Docker님의 프로필 이미지
Docker
질문자

2023. 06. 10. 16:53

네 감사합니다 :)

Docker님의 프로필 이미지

작성한 질문수

질문하기