타입스크립트에서 선언할 수 있는 타입으로는 네임스페이스, 클래스, enum, 인터페이스, 타입 별칭, 함수, 변수가 있습니다. 앞에서 declare로도 한 번씩 선언해보았습니다. 또한, 이들은 선언할 때 네임스페이스나 타입 또는 값으로 사용될 수 있습니다. 각각 어떻게 사용되는지 표로 정리했습니다.
▼ 표 2-4 선언이 생성하는 개체
유형 |
네임스페이스 |
타입 |
값 |
네임스페이스 |
O |
|
O |
클래스 |
|
O |
O |
enum |
|
O |
O |
인터페이스 |
|
O |
|
타입 별칭 |
|
O |
|
함수 |
|
|
O |
변수 |
|
|
O |
네임스페이스로 선언한 것은 네임스페이스이면서 값으로 사용됩니다. 일반적으로는 네임스페이스로 사용되지만 값으로 사용되는 경우는 2.9.2절에서 배웠습니다.
클래스나 enum은 타입으로 사용될 수도, 값으로 사용될 수도 있습니다. 2.20절 제목에서 클래스는 값이면서 타입이라고 한 것과 같은 의미입니다. 인터페이스와 타입 별칭은 타입으로만, 함수와 변수는 값으로만 사용할 수 있습니다.