ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript モジュールを理解する: コードのエクスポートとインポートが簡単に

JavaScript モジュールを理解する: コードのエクスポートとインポートが簡単に

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-18 19:15:16384ブラウズ

Understanding JavaScript Modules: Exporting and Importing Code Made Easy

JavaScriptモジュール

JavaScript モジュールを使用すると、開発者はコードを再利用可能で保守可能な部分に分割できます。モジュールはコードをカプセル化し、それをさまざまなファイルやアプリケーションの一部の間で共有する方法を提供します。


1. JavaScript モジュールとは何ですか?

モジュールは、コード (変数、関数、クラスなど) をエクスポートし、他のモジュールからコードをインポートできる JavaScript ファイルです。

主な特徴:

  • カプセル化: グローバル名前空間の汚染を防ぎます。
  • 再利用性: コードはさまざまなファイル間で再利用できます。
  • 保守性: 大規模なプロジェクトの管理とデバッグが容易になります。

2. ES6 モジュール (ECMAScript モジュール)

JavaScript は ES6 (ES2015) でネイティブ モジュール サポートを導入しました。これらは現在、最新のブラウザーと Node.js で広くサポートされています。

コードをエクスポートしています

export を使用してコードをエクスポートできます。

  1. 名前付きエクスポート:
    • モジュールから複数の値をエクスポートできます。
   // math.js
   export const add = (a, b) => a + b;
   export const subtract = (a, b) => a - b;
  1. デフォルトのエクスポート:
    • 各モジュールは 1 つのデフォルトのエクスポートを持つことができます。
   // greet.js
   export default function greet(name) {
     console.log(`Hello, ${name}!`);
   }

コードをインポートしています

import を使用してコードをインポートできます。

  1. 名前付きインポート:
    • 特定のエクスポートをインポートするには中括弧を使用します。
   import { add, subtract } from './math.js';

   console.log(add(5, 3)); // 8
   console.log(subtract(5, 3)); // 2
  1. デフォルトのインポート:
    • デフォルトのエクスポートには中括弧は必要ありません。
   import greet from './greet.js';

   greet('Alice'); // Hello, Alice!
  1. インポートの名前変更:
    • インポートの名前を変更するには、as を使用します。
   import { add as addition } from './math.js';

   console.log(addition(5, 3)); // 8
  1. すべてをインポート:
    • すべてのエクスポートをオブジェクトとしてインポートするには、* を使用します。
   import * as MathOperations from './math.js';

   console.log(MathOperations.add(5, 3)); // 8
   console.log(MathOperations.subtract(5, 3)); // 2

3.動的インポート

動的インポートを使用すると、モジュールを遅延して、つまり必要な場合にのみロードできます。これによりパフォーマンスが向上する可能性があります。

例:

import('./math.js').then((MathOperations) => {
  console.log(MathOperations.add(5, 3)); // 8
});

async/await を使用する:

async function loadModule() {
  const MathOperations = await import('./math.js');
  console.log(MathOperations.add(5, 3)); // 8
}
loadModule();

4. CommonJS モジュール (Node.js)

Node.js は伝統的に CommonJS モジュール システムを使用します。モジュールをインポートするには require を使用し、モジュールをエクスポートするには module.exports を使用します。

例:

  • エクスポート:
   // math.js
   export const add = (a, b) => a + b;
   export const subtract = (a, b) => a - b;
  • インポート:
   // greet.js
   export default function greet(name) {
     console.log(`Hello, ${name}!`);
   }

5. ES6 モジュールと CommonJS モジュールの違い

Feature ES6 Modules CommonJS
Syntax import/export require/module.exports
Loading Static Dynamic
Use Case Modern JavaScript (Browsers, Node.js) Primarily Node.js
Default Export Supported Not explicitly supported

6.モジュールバンドラー

モジュールを操作する場合、WebpackRollup、または Parcel などのバンドラーは、デプロイメント用にモジュールを 1 つのファイルにパッケージ化できます。

例:

   import { add, subtract } from './math.js';

   console.log(add(5, 3)); // 8
   console.log(subtract(5, 3)); // 2

7.モジュールのベストプラクティス

  1. 単一の責任に対してデフォルトのエクスポートを使用する:
    • モジュールの主な機能にはデフォルトのエクスポートを使用します。
   import greet from './greet.js';

   greet('Alice'); // Hello, Alice!
  1. グループ関連コード:

    • 関連するコードを同じモジュールに編成します。
  2. 循環依存関係を避ける:

    • モジュールがループ内で相互にインポートしないようにしてください。
  3. 可能な場合は遅延ロード:

    • コード分割とパフォーマンス向上のために動的インポートを使用します。

8.概要

  • 最新の JavaScript 開発には ES6 モジュールを使用します。
  • エクスポートとインポートを使用してコードを共有し、再利用します。
  • 効率的な導入のためにモジュール バンドラーを活用します。
  • Node.js の互換性について CommonJS を理解します。

JavaScript モジュールは、スケーラブルで保守性が高く、効率的なアプリケーションを作成するために不可欠です。

こんにちは、アバイ・シン・カタヤットです!
私はフロントエンドとバックエンドの両方のテクノロジーの専門知識を持つフルスタック開発者です。私はさまざまなプログラミング言語やフレームワークを使用して、効率的でスケーラブルでユーザーフレンドリーなアプリケーションを構築しています。
ビジネス用メールアドレス kaashshorts28@gmail.com までお気軽にご連絡ください。

以上がJavaScript モジュールを理解する: コードのエクスポートとインポートが簡単にの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。