namespace migration

네임스페이스 코드를 모듈 경계로 읽기

레거시 네임스페이스를 만났다면 전역 객체처럼 쓰는 부분과 외부에 공개되는 멤버를 분리하고, 같은 책임을 ES 모듈 파일로 옮길 수 있는지 봅니다.

legacy

namespace 방식

전역 이름

Validators가 공유됨

여러 파일이 같은 이름을 확장하고 script 로딩 순서의 영향을 받습니다.

export

공개 멤버만 외부 접근

내부 함수는 네임스페이스 블록 안에서만 보이며 전역에는 노출되지 않습니다.

modern

ES 모듈 방식

파일 경계

각 파일이 모듈 스코프

최상위 선언은 전역을 오염시키지 않고 import한 파일에서만 사용됩니다.

import

의존성이 문장으로 드러남

번들러와 타입스크립트가 파일 간 연결을 정적으로 추적할 수 있습니다.