1. 전역 변수 시대옛날 JS는 모든 파일이 전역 스코프를 공유해서변수 이름 충돌·유지보수 문제 심각했다.2. 모듈 시스템 등장 - CommonJS: `module.exports`, `require()` (Node.js 기본) - RequireJS: `define()`, `require()` (브라우저 AMD 방식) → 파일별 독립 스코프로 문제 해결.3. ES6 모듈(표준)`import`, `export` 키워드 도입.성능 최적화 쉬움, 현재 표준 방식.// math.jsexport function add(a, b) { return a + b; }// app.jsimport { add } from './math.js';