Menu
CoddyTech

環境変数

CoddyのNode.jsジャーニー「Node.jsの基礎」セクションの一部。レッスン 5/24。

プログラムを実行する人に属する設定もあります。プログラムの後に入力する言葉に属するわけではありません。

環境変数は、シェルがすべてのプログラムに渡す名前付きの文字列です。Nodeではこれらをprocess.envに格納します。設定されていない変数はundefinedなので、??を使うと既定値を指定できます。

// CITY=Oslo node weather.js
const city = process.env.CITY ?? 'Lisbon';
console.log(`Weather for ${city}`);

ノートパソコンでは、コマンドの前に書くことで、1回の実行に限って値を設定できます。CITY=Oslo node weather.jsを実行するとWeather for Osloが表示され、単にnode weather.jsを実行するとLisbonが表示されます。名前では大文字と小文字が区別されます。コードの隣にあるターミナルでは変数を設定していないため、常に既定値が表示されます。

challenge icon

チャレンジ

簡単
  • list は最初に見出しを出力します:Notes for <NOTES_OWNER>。変数が設定されていない場合は、Notes for you を出力します。
  • No notes yet は次の行に表示されます。

node notes.js list を実行してください。チェックでは NOTES_OWNER=Ada node notes.js list としても実行します。

自分で試してみよう

// あなたのメモツールはここから始まります。
const [command, ...words] = process.argv.slice(2);
const text = words.join(' ');

if (command === 'add') {
    console.log(`Adding: ${text}`);
} else if (command === 'list') {
    console.log('No notes yet');
} else {
    if (command) {
        console.error(`Unknown command: ${command}`);
    }
    console.error('Usage: node notes.js <command> [words]');
    process.exit(1);
}

Node.jsの基礎のすべてのレッスン