네임스페이스 (namespace)
JavaScript는 네임스페이스를 지원하지 않지만, TypeScript를 사용하면 네임스페이스를 활용할 수 있다.
Typescript에서 모듈은 크게 내부 모듈(Internal Module)과 외부 모듈(External Module)로 나뉘는데, 여기서 내부 모듈이 바로 네임스페이스이다.
외부 모듈은 우리가 알고있는 export
로 선언된 모듈이며, 내부 모듈인 네임스페이스는 전역 이름 공간과 분리된 별도의 네임스페이스 단위 이름 공간을 말한다.
// DOM 이라는 모듈 내부 선언
namespace Dom {
// 외부에서 접근 불가
const variable = 1;
// 외부 접근 가능 (export)
export const add = (arg1: number, arg2: number) => {
return arg1 + arg2;
};
// 외부 접근 불가능
const subtract = (arg1: number, arg2: number) => {
return arg1 - arg2;
};
}
Dom.add(1, 2); // 3
Dom.subtract(2, 1); // 접근 불가
'스터디' 카테고리의 다른 글
[Typescript] Type Challenge (0) | 2023.07.23 |
---|---|
[Typescript] 네임스페이스와 모듈 (0) | 2023.07.14 |
[Typescript] 모듈 해석 (0) | 2023.07.09 |
[Typescript] 모듈 (module) (0) | 2023.07.07 |
[Typescript] 유틸리티 타입 (1) | 2023.06.19 |