title: node.js process.env: assigning process.env property to undefined results in string type?
body: <p>The node.js <a href="http://nodejs.org/api/process.html#process_process_env" rel="noreferrer"><code>process.env</code></a> object seems to process property assignment differently than regular JavaScript objects. How can I get the <code>process.env</code> object to act like a regular object in this case?</p>
  
  <p>Below is sample code illustrating the different assignment behavior. For some reason assigning <code>undefined</code> to a property results in a string type (only for <code>process.env</code>):</p>
  
  <pre><code>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);
  </code></pre>
  
  <p>The resulting output is different depending on if an empty object <code>{}</code> or the <code>process.env</code> object was passed:</p>
  
  <pre>
  $ node test.js
  Passing empty object:
  typeof dict.A: undefined
  
  Passing process.env:
  typeof dict.A: string
  </pre>