TypeScriptの宣言空間
declaration space
知ってたところでどうこうなるわけではないが
Value
Type
型宣言空間
Namespace
それぞれで名前が重複していてもエラーにはならない
code:例.ts
// エラーにならない
const Hoge = {};
interface Hoge {}
namespace Hoge {}
classみたいにValueとTypeに跨るやつもいる
table:a
Declaration Type Namespace Type Value
Namespace X X
Class X X
Enum X X
Interface X
Type Alias X
Function X
Variable X
declare var
アンビエント変数
declare module
declare global
参考