module

    [Javascript] 모듈 기능으로 살펴보는 자바스크립트

    자바스크립트는 웹의 보조적인 기능을 수행하기 위해서 설계되었다는 태생적인 한계 때문에 모듈 기능을 지원하지 않았습니다. 모듈 기능을 지원하지 않는다는 뜻은 각각의 파일들이 독자적인 스코프를 가지고 있지 않고 동일한 전역 객체를 공유하고 있다는 뜻입니다. 그렇기 때문에 전역변수의 사용을 상당히 조심했어야 했습니다. foo.js와 bar.js에서 동일한 전역 변수를 선언했다면, foo의 변수가 bar의 변수로 재정의되면서 foo의 파일이 의도대로 동작하지 않는 문제가 발생하게 됩니다. 시간이 흘러서, 모듈 지원을 해결하기 위해서 CommonJS와 AMD 진영으로 나뉘게 되었고, ES6에 이르러서 module 기능은 표준화가 되었습니다. script 태그에 type="module" 어트리뷰트를 추가하면 로드된..