• 카테고리

    질문 & 답변
  • 세부 분야

    프론트엔드

  • 해결 여부

    미해결

익명함수와 화살표함수 this

22.03.25 10:48 작성 조회수 132

0


강의 중 궁금한 것이 있습니다 .(10:22 관련)
useLocalStore로 감싼 객체리터럴 중 메소드를 action으로 감쌌을 때
{
name: '',
onChangeName: action((e)=>{
this.name = e.target.value;
})
}
 
this가 어째서 익명함수를 사용했을 때는 작동하고, 화살표함수로 했을 때는 작동을 안하는지 이해가 잘 안됩니다.
만약 action함수가 this를 바꾼다면..
오히려 화살표함수의 this가 바깥의 객체로 bind 되니까 작동해야하고 익명함수의 this는 action으로 바뀌니까 작동을 안해야하는것 아닌지요??

화살표함수는 this문제를 해결하기 위해 나온것으로 알고 있는데.. 화살표함수는 프로토타입이 존재하지 않는다라는 말을 들어서 그 특성과 연관이 되어있는지요???
 
 

답변 1

답변을 작성해보세요.

1

this가 바깥의 객체로 bind된다는 것이 틀렸습니다. 화살표함수 사용 시 this는 바깥의 스코프에 바인드됩니다. 즉, useLocalStore의 name이 아닙니다.

YS님의 프로필

YS

질문자

2022.03.25

드디어 this에 대해 조금 이해한 느낌입니다. 감사합니다^^
혹시 화살표함수에 프로토타입이 존재하지 않는다라는 말이 무엇인지, 이것과 this와의 연관성도 알려주실 수 있으실지요??

음.. 화살표함수도 프로토타입이 존재하고요. this와 prototype의 연관성은 어떤 의미인지 잘 모르겠습니다. 그냥 prototype을 화살표함수로 만들면 this가 원하는 게 안 나온다는 것 아닐까요.