scope2 [Typescript] 네임스페이스와 모듈 네임스페이스와 모듈 namespace와 module은 기능적인 차이보다 같은 기능의 방식 차이며, 심지어 컴파일 진행 시 동일하게 작동하는 코드를 반환한다. 네임스페이스의 단점 네임스페이스를 모듈로 변경하면, 아래와 같은 모습이 되기 쉽다. // shapes.ts export namespace Shapes { export function Triangle() {...} export function Square() {...} } 위에서 최상위 모듈인 Shapes는 의미없이 내용물을 감싸고 있고, 이는 import 진행 시 아래와 같이 불필요한 경로를 거치게 한다. // shapeConsumer.ts import * as shapes from './shapes'; const t = new sha.. 2023. 7. 14. [Typescript] 네임스페이스 (namespace) 네임스페이스 (namespace) JavaScript는 네임스페이스를 지원하지 않지만, TypeScript를 사용하면 네임스페이스를 활용할 수 있다. Typescript에서 모듈은 크게 내부 모듈(Internal Module)과 외부 모듈(External Module)로 나뉘는데, 여기서 내부 모듈이 바로 네임스페이스이다. 외부 모듈은 우리가 알고있는 export로 선언된 모듈이며, 내부 모듈인 네임스페이스는 전역 이름 공간과 분리된 별도의 네임스페이스 단위 이름 공간을 말한다. // DOM 이라는 모듈 내부 선언 namespace Dom { // 외부에서 접근 불가 const variable = 1; // 외부 접근 가능 (export) export const add = (arg1: number, ar.. 2023. 7. 14. 이전 1 다음