はじめに
この実験では、JavaScript を使ってプロセス引数にフラグが含まれているかどうかを確認する方法を探ります。process.argv配列に指定されたフラグが存在するかどうかを確認するために、Array.prototype.every()とArray.prototype.includes()メソッドをどのように使うか学びます。また、必要に応じて指定されたフラグに-または--を接頭辞として付けるために正規表現をどのように使うかも学びます。この実験は、JavaScript の理解と Node.js でコマンドライン引数を扱う方法の向上に役立ちます。
プロセス引数にフラグが含まれているかどうかを確認する
現在のプロセスの引数に指定されたフラグが含まれているかどうかを確認するには、次の手順に従います。
- ターミナル/SSH を開き、コーディングの練習を始めるために
nodeと入力します。 Array.prototype.every()とArray.prototype.includes()を使って、process.argvに指定されたすべてのフラグが含まれているかどうかを確認します。- 正規表現を使って、指定されたフラグが
-または--で始まっているかどうかをテストし、それに応じて接頭辞を付けます。
これを実装する方法を示すコードスニペットは次のとおりです。
const hasFlags = (...flags) =>
flags.every((flag) =>
process.argv.includes(/^-{1,2}/.test(flag) ? flag : "--" + flag)
);
この関数を次のように異なるフラグでテストすることができます。
// node myScript.js -s --test --cool=true
hasFlags("-s"); // true
hasFlags("--test", "cool=true", "-s"); // true
hasFlags("special"); // false
まとめ
おめでとうございます!「プロセス引数にフラグが含まれているかどうかを確認する」実験を完了しました。スキルを向上させるために、LabEx でさらに実験を練習することができます。