User('John');波括弧なしのインポートは見栄えがよくなります。モジュールを使い始めるときによくある間違いは、波括弧を忘れてしまうことです。覚えておいてください。名前付けインポートの場合には波括弧が必要であり、デフォルトインポートの場合には不要です。エクスポートはありません。1つのモジュールの中で、デフォルトと名前付きエクスポート両方をもたせることもできますが、実際には、通常は混在させません。モジュールは名前付きエクスポート、あるいはデフォルトいずれかを持ちます。匿名の場合があります。'Dec'];これは問題ありません。ファイル毎に1つのみだけだからです。何をインポートすべきか常に知っています。名前付きエクスポートの名前を省略するとエラーになります。User('John');デフォルトエクスポートを使うべきですか?デフォルトエクスポートを使用する際は注意が必要です。それらはメンテナンスがいくらか異なるためです。名前付きエクスポートは明示的です。それらは正確にインポートするものを命名するので、そこから情報を得ることができます。名前付きエクスポートは、インポートするのに正確に正しい名前を使うことを強制します。'./user.js';デフォルトエクスポートの場合、独自の名前を作成する必要があります。なにかをインポートしますしたがって、チームメンバは同じものに異なる名前を使用することができてしまうため、そこには誤用される余地があります。通常、それを避け、コードの一貫性を保つため、インポートされた変数はファイル名に対応するべきであるという規則があります。'/path/to/func.js';...別の解決策は、どこでも名前付きエクスポートを使用することです。なしで名前付きでエクスポートします。これは、再エクスポート(後述)を少しだけ簡単にもします。使うと、インポートをした直後にそれらを(場合により別の名前で)エクスポートすることができます。'./user.js';要点は何で、なぜこれが必要なのでしょう?実用的なユースケースを見てみましょう。書いていると想像してください。多くのモジュールを持ち、主に内部で必要とされ、いくつかの機能を外部にエクスポートされたフォルダ(NPMのようなツールはパッケージの公開と配布を可能にしますが、ここではそれは関係ありません。通してパッケージの機能を公開したいです。'auth/index.js'この考えは、部外者(我々のパッケージを使う開発者)は、その内部構造に干渉する必要はないということです。彼らは我々のパッケージフォルダの中のファイルを検索するべきではありません。必要なものだけをエクスポートし、残りの部分は詮索好きな目から隠れたままにします。