TypeScript ではインポートの際に読み込むファイルの拡張子を省略できる。

というより、拡張子を書くとエラーになる

モジュールを探索する手順

(例) import bar from './bar';

  1. src/bar.ts
  2. src/bar.tsx
  3. src/bar.d.ts
  4. src/bar/package.json のtypes またはtypings プロパティで設定されている型定義ファイル
  5. src/bar/index.ts
  6. src/bar/index.tsx
  7. src/bar/index.d.ts

TypeScript では、同じ名前空間の中に『変数宣言空間(VariableDeclaration Space)』と

型宣言空間(Type Declaration Space)』という2 つの宣言空間が存在している

⇒ 変数や関数と型で同一の名前を持つことができる