TypeScript ではインポートの際に読み込むファイルの拡張子を省略できる。
というより、拡張子を書くとエラーになる
モジュールを探索する手順
(例) import bar from './bar';
import bar from './bar';
TypeScript では、同じ名前空間の中に『変数宣言空間(VariableDeclaration Space)』と
『型宣言空間(Type Declaration Space)』という2 つの宣言空間が存在している
⇒ 変数や関数と型で同一の名前を持つことができる