[JavaScript] 명시적 변수와 암묵적 전역 변수


[JavaScript] 명시적 변수와 암묵적 전역 변수

우선 이 코드에 대해서 먼저 생각해보자. 결과는 예상한 대로 10이 찍힐 것이다. 위와 같은 경우 또한 10이 찍히게 될 것이다. 왜 찍힐까? 잘 생각해보면 a라는 변수는 선언문이 없다. js 엔진은 a라는 변수를 우선적으로 hello실행 컨텍스트의 변수객체에서 a라는 변수가 존재하는지 확인할 것이다. 하지만, hello의 변수객체에서는 a라는 변수를 찾지 못할 것이고 이후 전역 객체로 스코프 체인을 따라 확인할 것이다. 그러나 a는 선언문이 없기에 전역에서도 찾지 못하여 reference Error가 발생하지 않을까 하고 생각할 수 있다. 아래 그림과 같이 말이다. 그럼에도 10이 출력되는 이유는 뭘까? 이렇게 되는 이유는 js엔진이 전역 객체에 a라..........

[JavaScript] 명시적 변수와 암묵적 전역 변수에 대한 요약내용입니다.

자세한 내용은 아래에 원문링크를 확인해주시기 바랍니다.



원문링크 : [JavaScript] 명시적 변수와 암묵적 전역 변수