모던자바스크립트 스터디 5일차이다.
13장 스코프
14장 전역 변수의 문제점
오늘은 위 단원들을 공부하고 모르는것을 정리했다.
궁금증
왜 es5에서 지원하던 전역변수를 es6에서는 사용할 수 없을까?
이유
웹 호환성을 깨뜨리는 모든 ES6 기능은 모듈 코드 내에서만 사용할 수 있습니다. 예를 들어 let키워드가 웹을 손상시키는 경우 전역 코드에서는 이를 식별자로 처리하지만 모듈 내부에 있으면 키워드로 처리합니다. 마찬가지로, 블록 로컬 함수에 대한 적절하지만 이전 버전과 호환되지 않는 범위 지정 의미는 모듈 코드 내에서만 활성화됩니다.(ex. var 같은 전역변수 선언 문제)
그래서 파일 단위에서 사용하는 모듈은 그 파일에서만 사용되고
export로 선언한 모듈처럼 의도적으로 노출하지 않는 한 외부에서 참조할 수 없게 된것이다.
이것이 파일 자체의 독자적인 모듈 스코프를 제공한다는 뜻이다.
그리고 var 역시 lexcial scope로 지원하기 때문에 이제는 global scope가 아니다.
참고
'JaveScript > JaveScript' 카테고리의 다른 글
모던자바스크립트 17, 18장 스터디 (0) | 2023.11.21 |
---|---|
모던자바스크립트 15, 16장 스터디 (0) | 2023.11.20 |
모던자바스크립트 11, 12장 스터디 (0) | 2023.11.18 |
모던 자바스크립트 9, 10장 스터디 (0) | 2023.11.17 |
왜 NaN === NaN 는 false이고 0 === -0은 true 일까? (0) | 2023.11.16 |