TypeScript モジュールの作成と使用方法

TypeScript モジュールは、コードを整理および管理するための構造化されたアプローチを提供します。モジュールを使用すると、コードを個別のファイルにカプセル化できるため、保守性、再利用性、テスト可能性が向上します。このガイドでは、TypeScript モジュールの作成と使用のプロセスについて説明します。

TypeScript モジュールとは何ですか?

TypeScript モジュールは、クラス、関数、変数などのコード要素をエクスポートおよびインポートする個別のファイルです。モジュールを使用すると、コードを管理しやすい部分に分割できるため、コードのさまざまな部分間の相互作用をより適切に制御できます。

TypeScript モジュールの作成

TypeScript モジュールを作成するには、次の手順に従う必要があります。

  1. TypeScript ファイルを作成します: まず、モジュールの新しい `.ts` ファイル (`mathUtils.ts` など) を作成します。
  2. コードの定義とエクスポート: このファイル内に関数、クラス、または変数を実装し、export キーワードを使用して他のモジュールで使用できるようにします。

シンプルなモジュールの例:

// mathUtils.ts

export function add(a: number, b: number): number {
  return a + b;
}

export function subtract(a: number, b: number): number {
  return a - b;
}

この例では、`add` 関数と `subtract` 関数が定義され、`mathUtils.ts` モジュールからエクスポートされます。

TypeScript モジュールのインポートと使用

TypeScript モジュールのコードを別のファイルで使用するには、それをインポートする必要があります。これには次の作業が含まれます。

  1. 新しい TypeScript ファイルを作成します: `app.ts` など、モジュールのコードが使用されるファイルを生成します。
  2. モジュールをインポートします: モジュールから関数、クラス、または変数を取り込むには、import キーワードを使用します。

`add` 関数と `subtract` 関数をインポートして使用する例:

// app.ts

import { add, subtract } from './mathUtils';

const sum = add(5, 3);
const difference = subtract(5, 3);

console.log(`Sum: ${sum}`);
console.log(`Difference: ${difference}`);

この例では、`add` 関数と `subtract` 関数が `mathUtils` モジュールからインポートされ、`app.ts` ファイル内で使用されます。

デフォルトおよび名前付きエクスポート

TypeScript モジュールは、デフォルトエクスポートと名前付きエクスポートの両方をサポートしています。以下に簡単な概要を示します。

  • デフォルトのエクスポート: export default を使用して、モジュールから単一の値をデフォルトのエクスポートとしてエクスポートできます。
  • 名前付きエクスポート: export キーワードを使用した名前付きエクスポートを使用して、モジュールから複数の値をエクスポートできます。

両方のタイプのエクスポートを示す例:

// shapes.ts

export default class Circle {
  constructor(public radius: number) {}
  
  area(): number {
    return Math.PI * this.radius ** 2;
  }
}

export function getCircleInfo(radius: number): string {
  const circle = new Circle(radius);
  return `A circle with radius ${radius} has an area of ${circle.area()}`;
}

この例では、`Circle` はデフォルトのエクスポートとしてエクスポートされ、`getCircleInfo` は名前付きエクスポートとしてエクスポートされます。

プロジェクト内のモジュールの整理

多数のモジュールを含む大規模なプロジェクトでは、整理が重要になります。次のヒントを考慮してください。

  • ディレクトリ構造: 関連するモジュールを `models/`、`services/`、`utils/` などのディレクトリにグループ化します。
  • インデックス ファイル: ディレクトリ内の `index.ts` ファイルを使用してモジュールを集約および再エクスポートし、プロジェクト全体のインポートを簡素化します。

ディレクトリ構造の例:

project/
│
├── src/
│   ├── models/
│   │   ├── index.ts
│   │   └── user.ts
│   └── app.ts

結論

TypeScript モジュールは、コードを整理および管理するための重要な機能です。モジュールを作成して使用することで、コードをモジュール化、保守、拡張可能に維持できます。コードのエクスポートとインポートの方法や、プロジェクトの構成方法を理解することで、TypeScript 開発の効率が向上します。