

高岡智則
年齢:33歳 性別:男性 職業:Webディレクター(兼ライティング・SNS運用担当) 居住地:東京都杉並区・永福町の1LDKマンション 出身地:神奈川県川崎市 身長:176cm 体系:細身〜普通(最近ちょっとお腹が気になる) 血液型:A型 誕生日:1992年11月20日 最終学歴:明治大学・情報コミュニケーション学部卒 通勤:京王井の頭線で渋谷まで(通勤20分) 家族構成:一人暮らし、実家には両親と2歳下の妹 恋愛事情:独身。彼女は2年いない(本人は「忙しいだけ」と言い張る)
process.argv・とは?を中学生にもわかる解説
このページでは Node.js の process.argv について、なぜ使うのか、どんな情報が入っているのか、実際の使い方をわかりやすい例と表で解説します。
process.argvとは、Node.js が起動時に受け取る引数を格納する特別な配列です。 これを使うと、コマンドラインからの入力をスクリプトに渡して、挙動を変えたり機能を増やしたりできます。
配列の最初の要素 0 は Node.js の実行ファイルのパス、1 は実行中のスクリプトファイルのパス、2 以降がコマンドラインから渡された引数になります。
例として、以下のコマンドを考えます。
node app.js hello --name=Taro を実行すると、process.argv は次のようになります。
['/path/to/node', '/path/to/app.js', 'hello', '--name=Taro']
このように、全てが文字列として格納されます。数値として使いたい場合は別途変換が必要です。
使い方のコツ
よく使われるのは、slice(2) を使って 実際の引数だけを取り出すことです。
コードの例を以下に置きます(説明用の簡易コードです)。
const args = process.argv.slice(2); // 実際の引数だけの配列を作る
次に args の中身を順番に読む方法です。例えば args[0] に最初の引数、args[1] に2番目の引数を取り出せます。
実務での活用例
実務では、スクリプトを起動する際にいろいろな設定を渡して挙動を変えることが多いです。以下のような使い方があります。
・実行モードを切り替える(例: node script.js --mode=debug)
・入力ファイルのパスを渡す(例: node script.js --input=data.txt)
・処理のオプションを増やす(例: node script.js --verbose)
引数の意味を整理する表
| インデックス | 内容 |
|---|---|
| 0 | Node.js の実行ファイルのパス |
| 1 | 実行中のスクリプトファイルのパス |
| 2 以降 | コマンドラインから渡された引数(全て文字列) |
注意点
重要な点は process.argv はすべて文字列として格納されることです。数値や真偽値を使いたい場合は parseInt や parseFloat、あるいは自作のパーサーで変換します。
また、外部ライブラリを使うと引数の解釈が楽になります。代表的なものとして yargs や minimist がありますが、まずは 原理を理解すること が大切です。
process.argvの同意語
- コマンドライン引数
- コマンドライン上でプログラムに渡される引数のこと。Node.js では process.argv という配列に格納され、先頭には node の実行ファイルとスクリプトファイルのパスが含まれ、実際の引数はその後ろに続きます。
- 実行時引数
- プログラムが実行されるタイミングでコマンドラインから渡される値。処理の分岐や挙動の切替に使われます。
- 起動時引数
- プログラムを起動する際に渡す引数のこと。実行時引数とほぼ同義で使われることが多い表現です。
- CLI引数
- CLI(コマンドライン・インターフェース)で入力する引数。略語的な表現として使われます。
- CLIパラメータ
- CLI に渡すパラメータのこと。引数と同義として用いられることが多い表現です。
- パラメータリスト
- 渡された引数の一覧を指す表現。通常は配列形式で扱われます。
- 引数リスト
- 渡された引数の一覧。コード内では配列として扱われることが多いです。
- 引数配列
- 引数を格納している配列のこと。process.argv のように、複数の値を順番で保持します。
- プログラム引数
- プログラムへ渡す引数の総称。機能の動作を指定する目的で使われます。
- スクリプト引数
- 実行対象のスクリプトに渡される引数。スクリプトファイル名以降の値です。
- Node.js実行時引数
- Node.js の実行時に渡される引数。process.argv の内容に対応します。
- node実行時引数
- node コマンドを使って実行する際の引数。Node.js の動作に影響を与えることがあります。
- argv
- process.argv の略称。実際には引数の配列そのものを指します。
- プロセス引数
- 実行中のプロセスへ渡す引数の一般的な呼び方。Node.js 以外の環境でも使われる表現です。
- 起動パラメータ
- アプリを起動する際に指定するパラメータのこと。実行時引数と同義として使われます。
- 実行パラメータ
- プログラムを動かすために与えるパラメータの総称。
- コマンド引数
- コマンドラインで渡される引数の別表現です。
- コマンドラインパラメータ
- コマンドラインに入力して渡すパラメータ。引数と同義として用いられます。
- 引数セット
- 複数の引数を一つのまとまりとして指す表現。
- 引数群
- 複数の引数の集まりを指す言い換え表現。
process.argvの対義語・反対語
- 環境変数
- プログラムの実行環境に設定された値。コマンドライン引数とは別の経路で渡されるため、argv とは異なる入力源として捉えられます。
- 標準入力(stdin)
- 実行中にリアルタイムで入力されるデータの流れ。起動時のコマンドライン引数(argv)は静的な入力、stdin は対話的な入力として使われることが多いです。
- 設定ファイル(configファイル)
- 事前に用意した設定をファイルから読み込む方法。引数とは別の外部設定源として使われます。
- デフォルト値
- 引数が提供されなかった場合に自動的に適用される初期値。引数で指定されない場合の代替として役立ちます。
- ハードコードされた値
- ソースコード内に直接書かれている固定値。外部からの引数を必要としない動作の要素になります。
- ファイルからの引数読み込み
- 外部ファイルに格納した引数を読み取って使用する方法。コマンドライン引数の代替・補完となります。
- 引数なし(no-args)
- コマンドラインに渡す引数が全くない状態。argv が空で処理が進むケースのことを指します。
- API経由のパラメータ
- HTTPリクエストや他のAPIを介して渡されるパラメータ。CLI の argv とは異なる入力ルートとしての対比になります。
process.argvの共起語
- process.argv[0]
- Node.jsの実行ファイルのパスが格納される最初の要素です。
- process.argv[1]
- 実行中のスクリプトファイルのパスが格納される2番目の要素です。
- process.argv.length
- 引数全体の個数。nodeとスクリプト名を含むすべての要素の数です。
- process.argv.slice(2)
- 実際のコマンドライン引数のみを取り出すときに使います。例: process.argv.slice(2) は実引数の配列になります。
- node
- Node.jsを実行するコマンド、または実行ファイル自体を指します。
- スクリプト
- 現在実行中のJavaScriptファイルのファイル名パス。process.argv[1] に多く格納されます。
- 引数
- コマンドラインで渡される値の総称。process.argvに格納されます。
- コマンドライン
- コマンドライン上での引数の総体を指す概念。process.argvはその引数の集合です。
- オプション
- 引数のうち動作を指定する形式(例: -v, --help)を指します。
- フラグ
- オプションのうち、設定の有無で挙動を変えるタイプの引数です。
- 配列
- process.argvは引数を順番に格納する配列オブジェクトです。
- 要素
- 配列の各項目。例えば process.argv[0] や process.argv[1] が要素です。
- パス
- ファイルやディレクトリの場所を示す文字列。Node実行ファイルやスクリプトのパスを指します。
- 実行ファイル
- 実行に使われるファイルの総称。ここでは Node の実行ファイルやスクリプトファイルを意味します。
- 実行中のプログラム
- 現在動作している Node アプリケーションのことを指します。
- 解析
- 引数を意味のあるデータへ変換する処理のこと。例えばオブジェクト化するなどの解釈を含みます。
process.argvの関連用語
- process.argv
- Node.js の実行時に渡されるコマンドライン引数の配列。先頭の2要素は node の実行ファイルのパスとスクリプトファイルのパスで、以降にユーザーが渡した引数が並ぶ。すべて文字列として格納される。
- process.execArgv
- Node の実行時オプションを格納する配列。スクリプト引数ではなく、デバッグ用フラグなど Node 自身の引数が含まれる。
- process.argv0
- プロセスを起動した実行ファイルのパス。通常は node 実行ファイルのパスだが、環境によって異なる場合がある。
- process.env
- 環境変数を格納するオブジェクト。引数とは別の情報源だが、アプリの挙動を変える際に併用されることが多い。
- Node.js
- サーバーサイドの JavaScript 実行環境。process オブジェクトをはじめとする組み込み機能を提供し、CLI アプリ開発にも適している。
- CLI
- コマンドライン・インターフェースの略。コマンドライン上で操作するための入力と出力の設計。
- 引数
- コマンドラインでプログラムへ渡す追加情報。process.argv の配列として受け取るのが基本。
- オプション
- 機能を切り替える長形式の引数(例: --name)。多くはキーと値をセットで渡す。
- フラグ
- 機能を有効/無効にする短形式の引数(例: -v)。存在すれば true、なければ false のように扱われることが多い。
- 位置引数
- 順序で意味が決まる引数。名前付きオプションを使わずに渡すことがある。
- スクリプトファイル
- 実行対象の JavaScript ファイル。process.argv[1] が指すことが多い。
- Node実行ファイル
- node コマンド自体の実行ファイル。process.argv[0] に格納されることが多い。
- argvの型
- process.argv の要素は通常文字列(string)で格納される。必要に応じて Number や Boolean に変換して使う。
- process.argv0の意味
- プロセスを起動した実行ファイルのパスを表す。多くは node ですが、環境により異なる場合がある。
- ランタイム引数のパース
- process.argv を意味のある値に変換する作業。minimist や yargs などのライブラリで楽に行える。
- minimist
- 軽量な引数パーサーライブラリ。オプションと位置引数を簡単に取り出せる。
- yargs
- 機能が豊富な CLI 引数パーサーライブラリ。デフォルト値やヘルプ生成などをサポート。
- commander
- CLI アプリのコマンド・オプション処理を楽に構築できるライブラリ。
- oclif
- 複雑な CLI アプリを作るためのフレームワーク。自動ヘルプやサブコマンドの構成が楽になる。
- --help
- ヘルプ情報を表示するための一般的なオプション。
- -h
- ヘルプ情報を表示する短形式のオプション。
- --version
- Node のバージョン情報を表示するオプション。
- -v
- バージョン情報を表示する短形式のオプション。
- --name=value
- オプションの値を同じ引数内で指定する書き方の一例。
- クォート/エスケープ
- 空白を含む引数は引用符で囲むなどして一つの要素として扱う必要がある場合がある。
- デフォルト値
- オプションが渡されなかった場合に使われる事前設定の値。
- バリデーション
- 渡された引数の値が規則に従っているか検証すること。
- process.cwd()
- 現在の作業ディレクトリを返す。ファイルパス解決の基準点として使われる。
- process.pid
- 現在実行中の Node プロセスの識別子(PID)。
- process.version
- 現在の Node.js のバージョン情報(例 v18.16.0)を示す文字列。
- 環境依存のパス表現
- OS によってパス区切りやパス表現が異なる点。パス処理で注意が必要。
- shebang
- #!/usr/bin/env node など、スクリプトを直接実行可能にする宣言。実行権限と組み合わせて CLI 化に使われる。
- バージョン差異への対応
- Node のバージョン差により process.argv の扱いが微妙に異なることがあるため、互換性を確認する。



















