-
카테고리
-
세부 분야
프로그래밍 언어
-
해결 여부
해결됨
화살표 함수에서의 this 질문입니다.
23.02.25 14:48 작성 조회수 341
0
화살표 함수와 this 강의에서 지금 상황은 하나의 클래스에 두 함수가 선언되어 있고 생성자 함수는 start를 호출하는 상황입니다.
우선 화살표 함수에서의 this에서 화살표 함수를 호출할 당시의 호출 스택이 갖는 this를 화살표 함수가 그대로 갖는다고 이해한 부분이 맞는지 궁금합니다.
start를 호출할 때
화살표 함수인 onGameMenuInput를 changeScreen() 에서 호출할 때의 this와 start()에서 호출할 때 바깥쪽에서의 this가 다르다는 말을 하셨는데 이 부분이 이해가 안갑니다.
제가 이해한대로라면 changeScreen() ,start()모두 this를 자신의 객체로 갖고 있기 때문에 두 함수에서 호출한 화살표 함수의 this는 둘 다 같은 객체이다. 라고 생각하는데 틀린건가요?
답변을 작성해보세요.
0
![modric님의 프로필](https://cdn.inflearn.com/public/main/profile/default_profile.png?w=48)
modric
질문자2023.02.25
상위 스코프의 this를 가리킨다는 것은 이해를 했습니다. 그런데
onBattleMenuInput()의 상위 스코프는 각각 start와 changeScreen 으로 이 둘은 한 객체의 메서드이기 때문에 this가 같은 객체를 가리키는 것이 아닌가요?
![조현영님의 프로필](https://cdn.inflearn.com/wp-content/uploads/avatars/14793/5bbebf0cc0f37-bpfull.png?w=48)
조현영
지식공유자2023.02.25
onGameMenuInput 화살표함수를 그대로 저기 안에 넣으면 상위 스코프의 this를 그대로 가져오고 있음을 알 수 있고요. 비교해봐야 하는 대상은 addEventListener에서 onGameMenuInput이 화살표함수일 때랑 함수 선언문일 때의 this가 서로 달라지는 게 차이점인 것이죠.
답변 1