title: Node.js: why is calling hasOwnProperty different from global.hasOwnProperty?
body: <p>Maybe this is a newbie question, but I cannot find or think out the explanation.</p>
  <p>Start the Node.js console, and:</p>
  <pre><code>&gt; global.hasOwnProperty === hasOwnProperty
  true
  </code></pre>
  <p>Then why</p>
  <pre><code>&gt; global.hasOwnProperty(&quot;x&quot;)
  false
  </code></pre>
  <p>but</p>
  <pre><code>&gt; hasOwnProperty(&quot;x&quot;)
  TypeError: Cannot convert undefined or null to object
  at hasOwnProperty (&lt;anonymous&gt;)
  at repl:1:1
  at sigintHandlersWrap (vm.js:22:35)
  at sigintHandlersWrap (vm.js:96:12)
  at ContextifyScript.Script.runInThisContext (vm.js:21:12)
  at REPLServer.defaultEval (repl.js:313:29)
  at bound (domain.js:280:14)
  at REPLServer.runBound [as eval] (domain.js:293:12)
  at REPLServer.&lt;anonymous&gt; (repl.js:513:10)
  at emitOne (events.js:101:20)
  </code></pre>
  <p>?</p>