목적
관련 이름을 한 경계로 모아 공개할 멤버와 내부 전용 멤버를 나눈다.
네임스페이스는 관련 타입과 값을 하나의 이름 아래 묶어 전역 이름 충돌을 줄이던 타입스크립트의 구조화 기능이다.
관련 이름을 한 경계로 모아 공개할 멤버와 내부 전용 멤버를 나눈다.
예전 타입스크립트에서는 namespace가 내부 모듈처럼 파일 사이의 이름 묶음을 만들었다.
ES module은 파일 자체가 스코프이며 import와 export로 의존성을 더 명확히 드러낸다.
네임스페이스 이름은 전역에 남을 수 있고, 번들 경계를 흐리게 만들 수 있다.
하나의 전역 이름 아래 멤버를 붙인다. 여러 파일 병합과 로드 순서에 민감할 수 있다.
파일마다 독립 스코프를 만들고 명시적 가져오기와 내보내기로 연결한다. 현대 번들러와 잘 맞는다.
새 코드는 ES module을 기본으로 잡고, namespace는 레거시 코드나 전역 라이브러리 선언 파일을 읽을 때 필요한 배경지식으로 다루는 편이 좋다.