title: dynamically adding a number as a property to an existing object
body: <p>In JavaScript, when adding a property to an existing object like this:</p>
  
  <pre><code>var qBacks = {
    12: "Namath",
    16: "Montana",
    19: "Unitas"
  };
  
  qBacks["4"] = "Brett Favre"; //Will work!
  qBacks.4 = "Brett Favre"; //Will not work!
  //but
  qBacks.player4 = "Brett Favre"//Will work.
  </code></pre>
  
  <p>and, if I want to append property 4 to remove the first name, I have to use bracket notation to complete:</p>
  
  <pre><code>qBacks[4] = "Farve"; //Works!
  qBacks.4 = "Farve"; //Will not work!
  </code></pre>
  
  <p>Why won't the dot operator work with numbers to dynamically add properties or to modify the value? I am guessing it has something to do with typeof 4 being a primitive but would like to get better understanding. Thanks</p>