👋 let 변수와 this
1) 글로벌 오브젝트에서 let변수를 this로 참조 불가
var music = '음악';
let sports = '축구';
console.log(this.music, this.sports);
// 음악, undefined- 현재 위치는 글로벌 오브젝트
var music = "음악";window오브젝트에 설정됨let sports = "축구";window오브젝트에 설정되지 않음this.music에서this가window오브젝트를 참조 하며music이window오브젝트에 설정되어 있으므로 “음악”이 출력됨this.sports에서 sports가window에 설정되지 않으므로undefined가 출력됨
2) 엔진 관점에서 let 변수 처리
let변수를 블록 안에 작성해야 하지만, 블록이 없으므로 엔진이 블록을 만들고 이를 스코프로 사용하여 설정함- 위에 언급한 것 같이 현재
Script에let변수에 할당한 값이 존재 - 이것은
Script를 하나의 블록 개념으로<script>에 작성한 모든 파일에서 공유 가능