10.5Modules / No Mutable Exports

変更可能なエクスポートはしない

ミューテーションは一般的に避けるべきですが、特に変更可能なバインディングをエクスポートする場合は避けるべきです。定数参照のみをエクスポートしてください。

`let` でエクスポートされた変数は、インポート元のモジュールからも変更可能であり、アプリケーション全体で共有されるグローバルな状態のように振る舞います。これは、データの流れが追跡困難になり、非常にデバッグしにくいバグの原因となります。エクスポートする値は `const` で宣言し、不変であることを保証するべきです。

❌ Bad
// bad
let foo = 3;
export { foo };
✅ Good
// good
const foo = 3;
export { foo };