• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    해결됨

화살표함수 this 바인딩 관련 질문 드립니다.

21.09.16 19:25 작성 조회수 148

0

안녕하세요, 선생님.

this 강의를 듣고 아래와 같이 this 바인딩 코드를 작성하였는데, 함수를 실행시킨 곳에서 this 바인딩이 되서 전역에 있는 name 변수 값인 outer가 출력이 될 줄 알았는데 전혀 예상과 다르게 undefined가 출력이 되는데요. 왜 그런지 궁금합니다.

 

const name = 'outer';

 

function test1() {

  const name = 'test1';

  console.log(this.name);

}

const test2 = () => {

  const name = 'test2';

  console.log(this.name);

};

test1(); // undefined

test2(); // undefined

 

답변 1

답변을 작성해보세요.

0

변수 선언을 const 로 하셨는데 이는 ES6에서 등장한 새로운 변수선언 방식으로,

본 강의에서는 다루지 않는 내용입니다.

그래도 간략하게나마 답변드리자면, 

let, const로 선언한 전역변수는 전역객체의 프로퍼티가 되지 않습니다.