10.10Modules / Import Extensions

JavaScriptファイル拡張子を含めない

`import`文にJavaScriptのファイル拡張子(.js, .jsx)を含めないでください。リファクタリングを阻害し、実装の詳細を不適切にハードコードすることになります。

もし将来的に `./foo.js` を `./foo.ts` (TypeScript) にリファクタリングした場合、そのモジュールをインポートしているすべてのファイルのパスを `.js` から `.ts` に変更する必要が生じます。拡張子を省略することで、ビルドツールが適切なファイルを解決してくれるようになり、このような手間を省くことができます。

❌ Bad
// bad
import foo from './foo.js';
import bar from './bar.jsx';
✅ Good
// good
import foo from './foo';
import bar from './bar';