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

이순곤님의 프로필 이미지
이순곤

작성한 질문수

Javascript ES6+ 제대로 알아보기 - 초급

Arrow Function

this바인딩 질문

작성

·

196

1

const b = {

     name :  '하하',

     bb () {

                 return this.name;

      },

     a: x => {

                  return this.name;

        }

}

생뚱맞은 질문 있을수도 있는데

여기서 a: x=> {return this.name}에서 

에로우 함수는 함수스코프인데 실행컨텍스트 실행이 this바인딩을 안하니까 const b= {}이쪽 스코프를 참조하니까 객체에서의 this는 window인가여 TT

bb() {

   const b = x => {

             return this.name;

     }

}

같은경우는 this바인딩 안하니까 외부함수 즉 메소드 bb(){}의 this를 보니까 this는 b를 보는건 알겟는데용

답변 1

5

정재남님의 프로필 이미지
정재남
지식공유자

b는 스코프가 없습니다. 객체는 스코프를 생성하지 않습니다.
bb는 메서드이므로 함수스코프가 생성됩니다.

앞서 질문하신 내용들을 모두 포함하여 미루어 짐작해보건대
아직 전반적인 자바스크립트 관련 개념들이 명확하게 정리되어 있지 않은 것 같아요.

이에 다음과 같은 말씀을 꼭 드리고 싶어요.
제가 오프라인에서나 강의소개글, 강의 인트로 등에서 자꾸 말씀드리는 내용이기도 합니다.

------------------

누구나 처음엔 다 어렵고 혼란스러울 수밖에 없습니다.
어렵고 헷갈리는건 당연한 겁니다.
그렇지만, 당장은 모든걸 이해하려고 애쓰지 마세요.
딱 이해한 정도까지만 이해하고, 가볍게 넘기세요.

강의를 한바퀴 돌리고,
또 한바퀴 돌리고,
실무에서 몇 번 접하고,
그렇게 그렇게 다양한 경험치가 누적되면서 시간이 흐르고 나면,
어느날 문득 자연스럽게 이해가 되는 순간이 찾아오게 되어 있습니다.

수학의정석 책을 집어들고는 집합/수열 챕터만 뒤적거리다가
결국 수포자가 되고 마는 상황이 되지 않기를 바랍니다.

애쓰지 마세요.
반복을 하세요.

지나가다가 보게 된 댓글인데 정말 좋은 말씀인것 같습니다. 저한테도 도움이 되는 좋은 말씀 잘 보고 갑니다

이순곤님의 프로필 이미지
이순곤

작성한 질문수

질문하기