본문 바로가기
개발 언어/TypeScript

08 TypeScript - module

by 우주다람쥐 2018. 4. 9.
반응형

8. module


TypeScript에 추가된 module에 대해 공부해보자.

module은 예시에서는 interface와 class를 사용하겠지만 function 등 객체에서는 모두 활용될 수 있는 내용이다.


(1) internal module ( namespace )


먼저 internal module은 namespace라 하며, 동일한 이름의 객체를 지정할 때 사용한다.

namespace로 지정된 interface나 class는 export를 통해서 사용할 수 있으며, export를 지정하지 않으면 namespace 내에서만 쓸 수 있다.



다른 파일에 있는 namespace의 class나 interface를 가져와 쓸 수도 있다.

extends, implements를 사용한다.




(2) external module


namespace도 외부 파일에서 가져와 쓸 수 있지만 보톤 external module을 사용한다.

사용법은 예시를 보면서 설명하겠다.



IShape.ts의 interface를 Circle.ts로 가져와 사용하는 방법이다.

먼저 export로 interface가 외부에서 쓸 수 있게 해주며, import를 통해 Circle.ts에 IShape interface를 사용할 수 있게 해준다.



export default도 있는데 이걸 사용하면 {} 없이 사용할 수 있다.

즉, 해당 폴더에서 default로 export하는 객체를 지정해주는 것이다.

Rectangle의 경우 export default로 사용한 것을 확인할 수 있다.


그리고 alias(별칭)를 줄 수도 있는데

export에서는 as를 사용하고, export default에서는 as 없이 alias만으로도 지정해서 사용할 수 있다.


해당 ts 파일을 컴파일한 뒤 node로 돌려보면 다음과 같은 결과가 나오는 것을 알 수 있다.



반응형

'개발 언어 > TypeScript' 카테고리의 다른 글

[TypeScript] Visual Studio Code와 tsconfig.json으로 TypeScript 개발하기  (0) 2021.03.09
07 TypeScript - generic  (0) 2018.04.09
06 TypeScript - Class  (0) 2018.04.06
05 TypeScript - interface  (0) 2018.04.06
04 TypeScript - union  (0) 2018.04.06

댓글