네임스페이스를 중첩할 수도 있습니다. 이 경우 내부 네임스페이스를 export해야 사용할 수 있습니다.
namespace Example {
export namespace Outer {
export interface Inner {
test: string;
}
export type test2 = number;
}
}
const ex1: Example.Outer.Inner = {
test: 'hello',
}
const ex2: Example.Outer.test2 = 123;
네임스페이스 자체를 자바스크립트 값으로 사용할 수도 있습니다. 네임스페이스 내부에 실제 값을 선언한 경우에 그렇습니다.
namespace Ex {
export const a = 'real';
}
const a = Ex; // { a: 'real' }
const b = Ex.a; // 'real'
const c = Ex["a"]; // 'real';