본문 바로가기
스터디

[Typescript] 네임스페이스 (namespace)

by rious275 2023. 7. 14.

네임스페이스 (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