この記事では、JavaScript の IIFE (Immediately Invoked Function Expression) モジュール パターンを使用したコマンドライン物理計算機の構築について説明します。 作成は 3 つのモジュール式 JavaScript ファイルと、プロジェクト管理用の package.json
ファイルに分割されます。
コア機能は 3 つのモジュールに分かれています:
iifePhysicsCalculations.js
: このモジュールは IIFE として実装され、物理計算関数をカプセル化します。 重力や光速などの定数を定義し、モジュール内で非公開に保ちます。 速度、加速度、位置エネルギー、運動量、エネルギー、力、運動エネルギーの関数は、返されるオブジェクトのメソッドとして公開されます。 重力定数と光速のゲッター メソッドも含まれています。<code class="language-javascript">//iifePhysicsCalculations.js export const physicsCalculations = ( function () { // Private constants const g = 9.80665; const c = 299792458; // Public methods const velocity = (distance, time) => distance / time; const acceleration = (speed, time) => speed / time; const potentialEnergy = (mass, height) => mass * g * height; const momentum = (mass, speed) => mass * speed; const energy = (mass) => mass * (c ** 2); const force = (mass, acc) => mass * acc; const kineticEnergy = (mass, speed) => 0.5 * mass * (speed ** 2); return { velocity, acceleration, potentialEnergy, momentum, energy, force, kineticEnergy, getSpeedOfLight: () => c, getGravityConstant: () => g }; } )();</code>
PhysicsEquations.js
: このモジュールは、それぞれが物理方程式を表すオブジェクトの配列をエクスポートします。 各オブジェクトには、方程式の ID、計算式、入力の説明、および単位が含まれます。これにより、方程式の定義が計算ロジックから明確に分離されます。<code class="language-javascript">//PhysicsEquations.js export const physicsEquations = [ // ... (Equation objects as in the original code) ];</code>
PhysicsCalculationsApp.js
: これはメインのアプリケーション ファイルです。他の 2 つのモジュールをインポートし、コマンドライン操作に node:readline
を使用して、ユーザー インターフェイスと計算プロセスを調整します。 物理方程式のメニューを表示し、ユーザーに入力を促し、iifePhysicsCalculations.js
の関数を使用して計算を実行し、結果を表示します。<code class="language-javascript">//PhysicsCalculationsApp.js import { physicsCalculations } from "./iifePhysicsCalculations.js"; import { physicsEquations } from "./PhysicsEquations.js"; import readline from 'node:readline'; // ... (rest of the code as in the original)</code>
Node.js で ES モジュールのサポートを有効にするには、package.json
を含む "type": "module"
ファイルが必要です。 次に、アプリケーションは while
ループを使用し、ユーザーの入力と出力をクリーンかつ効率的な方法で処理することを約束します。 堅牢性を高めるために、エラー処理 (数値以外の入力など) を追加できます。
以上がIIFE モジュール パターンを使用したコマンド ライン物理計算アプリケーションの構築の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。