【もじゅーる】

モジュール とは?

最終更新:
💡 公開する機能を通して組み合わせるプログラムの部品

プログラムを機能などのまとまりで分けた単位。公開する機能を通して他の部分から利用し、再利用や保守をしやすくする。具体的な仕組みは言語や実行環境で異なる。

📌 このページのポイント
機能をまとめて、組み合わせる まとめた処理 メール送信 計算 分割 email.js calc.js main.js 部品を利用 公開する名前・引数・動作が境界 変更時は利用側への影響を確認
ファイルへ分ける例。点線はmain.jsが各モジュールを利用する関係。分割するだけで、変更の影響がなくなるわけではない。
ひよこ ひよこ
モジュールって何?
ペンギン先生 ペンギン先生
プログラムを機能などで分けた部品だよ。メール送信や計算処理をまとめ、他の部分から必要な機能を呼び出せるようにするんだ。
ひよこ ひよこ
分けると何が便利なの?
ペンギン先生 ペンギン先生
同じ処理を使い回したり、直す場所を整理したりしやすくなるよ。例えばPythonでは定義をファイルにまとめ、別のプログラムからimportして使えるんだ。
ひよこ ひよこ
JavaScriptでもimportを使うよね?
ペンギン先生 ペンギン先生
ES Modulesでは、部品側がexportで機能を公開し、利用側がimportで取り込むよ。例えばemail.jsが公開したsendEmailを、別ファイルから使う形だね。
ひよこ ひよこ
部品に分けたら、他の場所に影響せず交換できる?
ペンギン先生 ペンギン先生
必ずそうなるわけではないよ。公開する関数名や引数、動作が変われば、使う側にも影響する。分けるだけで安心せず、利用側との約束と依存関係を確認しよう。
もっと詳しく知りたい人へ

Node.jsでimportとrequireを使い分けるとき、何を確認する?

ES ModulesとCommonJSのどちらとしてファイルが扱われるかを確認します。.mjsはES Modules、.cjsはCommonJSを明示します。.jsはpackage.jsonのtypeなどの影響を受けます。両方式の相互利用には条件があるので、利用するNode.jsのバージョンの資料も確認してください。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「モジュール」って出てきたら「プログラムを機能ごとに分けた再利用可能な部品のことだな」と思えればだいたいOK!
📖 おまけ:英語の意味
「module」 = 部品・単位
💬 プログラミングでは、機能をまとめて他の部分と組み合わせる単位を指すよ。どの範囲をモジュールと呼ぶかは言語や環境によって異なる。

参考資料

← 用語集にもどる