インタビューの質問-TS(5): TypeScript のモジュールとは何ですか? モジュールをインポートおよびエクスポートするにはどうすればよいですか?
TypeScript では、モジュールはコードを編成および管理するための概念です。モジュールはコードをカプセル化する方法を提供し、関連する関数とデータをまとめて整理し、再利用可能で保守可能なコードを実現できます。
1. モジュールの概念と機能
モジュールは、関連する変数、関数、クラス、その他のコードを含む独立したコード単位であり、他のモジュールからインポートして使用できます。モジュールの主な機能は次のとおりです。
1. 実装の詳細をカプセル化して非表示にします。
モジュールは内部実装の詳細を非表示にし、外部から見えるインターフェイスのみを公開できます。これにより、コードのセキュリティと保守性が向上します。
2. コードの再利用と編成:
モジュールは、関連する関数とデータをまとめて整理する方法を提供するため、さまざまなプロジェクトでモジュールを再利用でき、コードの再利用性と可読性が向上します。
3. グローバルな名前の競合を回避します。
モジュール内の変数、関数、クラス、およびその他のコードはすべてモジュールのスコープ内にあるため、グローバルな名前の競合の問題が回避され、コードの信頼性が向上します。
4. 読み込みと依存関係の管理:
モジュール システムは、依存関係をロードおよび管理するメカニズムを提供するため、必要に応じてモジュールを動的にロードし、モジュール間の依存関係を解決できます。
モジュールを使用すると、コードをより適切に整理および管理し、コードの保守性と拡張性を向上させることができます。
2. モジュールのインポートとエクスポート
TypeScript では、import
およびexport
キーワードを使用してモジュールをインポートおよびエクスポートできます。モジュールをインポートおよびエクスポートする一般的な方法をいくつか示します。
エクスポート方法:
-
デフォルトのエクスポート: モジュールは、関数、クラス、オブジェクトなどのデフォルト値をデフォルトでエクスポートできます。
export default
構文を使用してデフォルトのエクスポートを作成できます。例えば:// mathUtils.ts export default function add(a: number, b: number): number { return a + b; }
-
名前付きエクスポート: モジュールは、関数、クラス、オブジェクトなどの複数の名前付き値をエクスポートできます。キーワードを使用してエクスポートに名前を付けることができます
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; }
-
結合エクスポート (再エクスポート): モジュールは、他のモジュールのエクスポート項目をエクスポートして、統一された外部インターフェイスを実現できます。
export
結合エクスポートは、キーワード +*
またはキーワードを使用して実行できますas
。例えば:// utils.ts export * from './mathUtils'; export { someFunction as aliasFunction } from './otherModule';
インポート方法:
モジュールを使用する場合、import
キーワードを使用して他のモジュールのエクスポートをインポートできます。一般的なインポート方法は次のとおりです。
-
デフォルトのエクスポートをインポートする: デフォルトのエクスポートは、
import
キーワードに続いてエクスポートされたモジュールの名前を使用してインポートできます。例えば:// main.ts import add from './mathUtils';
-
import
名前付きエクスポートのインポート: 名前付きエクスポートは、キーワードに続いて中括弧を使用して{}
インポートできます。例えば:// main.ts import { add, subtract } from './mathUtils';
-
結合エクスポートのインポート:
import
キーワード plusを使用して*
、結合エクスポートされたモジュールをインポートできます。例えば:// main.ts import * as utils from './utils';
モジュールをインポートおよびエクスポートすることで、異なるファイル間でコードを共有し、必要に応じて関連関数をインポートできます。
3. モジュールローダー
ブラウザ環境でモジュールをロードして管理するには、モジュールローダー(Module Loader)を使用する必要があります。一般的に使用されるモジュール ローダーには次のようなものがあります。
- Webpack : 複数のモジュールを 1 つ以上の静的リソース ファイルにパッケージ化できる強力なパッケージ化ツール。
- Parcel : モジュールの読み込みと依存関係を自動的に処理する、構成不要の高速パッケージング ツール。
- SystemJS : ブラウザーにモジュールを動的にロードし、モジュール間の依存関係を解決できる汎用モジュール ローダー。
これらのモジュール ローダーは、構成ファイルまたは規則に従ってモジュールをロード、解析、実行できます。
4. サードパーティモジュールを使用する
TypeScript では、他の人が作成して私たちが使用できるように提供されているサードパーティ モジュール (外部モジュール) を使用できます。サードパーティのモジュールを使用するには、まずそれらをインストールしてから、import
ステートメントを使用してモジュールをインポートする必要があります。
たとえば、npm パッケージ マネージャーを使用してサードパーティ モジュールをインストールし、インポートできます。
// 安装第三方模块
npm install lodash
// 导入第三方模块
import * as _ from 'lodash';
サードパーティのモジュールを使用すると、他の人のコードを使用して開発をスピードアップし、コードの品質を向上させることができます。
要約する
モジュールは TypeScript の非常に重要な機能であり、コードの編成とモジュール化のための強力なツールであり、コードをより適切に編成、管理、共有できるようになります。モジュール方式で開発することにより、より堅牢で保守性が高く、スケーラブルなアプリケーションを構築できます。