다음 경우에도 선언 병합을 활용하면 좋습니다.
function Ex() { return 'hello'; }
namespace Ex {
export const a = 'world';
export type B = number;
}
Ex(); // hello
Ex.a; // world
const b: Ex.B = 123;
자바스크립트에서는 함수도 객체이므로 함수에 속성을 추가할 수 있습니다. 함수와 네임스페이스가 병합될 수 있으므로 앞의 코드에 에러가 발생하지 않는 것입니다. 함수에 속성이 별도로 있다는 걸 알리고 싶다면 함수와 동일한 이름의 namespace를 추가하면 됩니다.