[20221112] scope & strict mode & module
자바스크립트에서 scope (변수가 존재하는 범위)는 {} 블록과 function {} 함수 블록이 존재한다. 종종 여러 자바스크립트 문서를 합치다 보면, 변수 충돌 문제가 발생하는데, 이때, 해결 방법으로 scope를 나눠줄 수 있다. 하지만, 구 버전의 자바스크립트에서는 변수를 선언하기 위해 var 키워드를 사용했고, var의 경우, 함수 블록을 사용하는 경우에만 충돌을 막을 수 있음 또, Babel 등과 같이 최신 버전의 자바스크립트를 구 버전의 스크립트로 변환해주는 트랜스파일러도 단순 {} 블록으로 함수 충돌을 막는 코드는 제대로 변환해주지 못함 따라서, 변수 충돌 문제를 해결하기 위해 많은 경우, 함수 블록을 사용함 => 이때, 선언적 함수를 사용해 스크립트가 실행되면 해당 함수블록이 바로 호이..