title: Why does logging this objects properties give a different result then logging the object itself and looking at the properties?
body: <p>I currently am trying to set up socket-io with react redux right now, and I appear to be running into a weird namespace issue</p>
  
  <pre><code>console.log(socket);
  console.log(socket.disconnected);
  console.log(socket.id);
  console.log(socket);
  </code></pre>
  
  <p>The first log returns a large object, and here are two of the properties. </p>
  
  <pre><code>disconnected: false;
  id: PuAi01tcCcZgmJaAACM
  </code></pre>
  
  <p>the second and third logs, however, return completely different things than the object originally said. Logging socket.disconnected returns true, and logging socket.id returns undefined. </p>
  
  <p>In case the socket was somehow mutating in between logs, I put the last log down. It returns the original log, where disconnected is false and id exists. </p>
  
  <p>This seems to be some weird namespace issue? I don't see how it could've happened, but there appears to be two different socket names, and accessing a property of the name socket seems to target one of them. </p>