node.jsprocess.env
オブジェクトは、通常のJavaScriptオブジェクトとは異なる方法でプロパティの割り当てを処理するようです。process.env
この場合、オブジェクトを通常のオブジェクトのように動作させるにはどうすればよいですか?
以下は、さまざまな割り当て動作を示すサンプルコードです。何らかの理由undefined
でプロパティに割り当てると、文字列型になります(の場合のみprocess.env
)。
function demo(description, dict) {
console.log(description);
dict.A = undefined;
console.log('typeof dict.A: ' + typeof dict.A + '\n');
}
demo('Passing empty object:', {});
demo('Passing process.env:', process.env);
{}
結果の出力は、空のオブジェクトまたはprocess.env
オブジェクトが渡されたかどうかによって異なります。
$ node test.js 空のオブジェクトを渡す: typeof dict.A:未定義 process.envを渡す: typeof dict.A:文字列