Example 네임스페이스를 선언했습니다. Example 네임스페이스 안에는 Inner 인터페이스와 test2 타입 별칭이 있습니다. 각각 Example.Inner, Example.test2로 접근할 수 있습니다. Example 네임스페이스가 있으므로 이제 다른 사람이 만든 Inner나 test2 타입과 겹치지 않습니다.
하지만 정작 Example.Inner, Example.test2 타입을 ex1, ex2 변수에 적용하려 하니 에러가 발생합니다. 네임스페이스 내부 타입을 사용하려면 다음과 같이 export해야 합니다.
namespace Example {
export interface Inner {
test: string;
}
export type test2 = number;
}
const ex1: Example.Inner = {
test: 'hello',
}
const ex2: Example.test2 = 123;