title: Why can't I add properties to a string object in javascript?
body: <p>I inherited some javascript code another developer wrote. He didn't like the grid component we used throughout the project, so he decided to write his own. The grid he wrote can't sort dates, because it can only bind to strings / numbers. He converts all dates to strings before using them. I looked at the string formatting of date function he wrote, and figured I could just add a date property to the string with the original value, and then when sorting see if the string has a date property and sort based on that. However, it seems like you can't add properties to strings in javascript. I wasn't aware there were certain types you can't add properties to. For example:</p>
  
  <pre><code>&lt;html&gt;
  &lt;script&gt;
  var test = "test";
  test.test = "test inner";
  console.log(test);
  console.log(test.test);
  &lt;/script&gt;
  </code></pre>
  
  <p>test.test will be undefined. Weird. My question is why this code doesn't work? And also, if you can think of any workarounds for sorting dates on that grid (besides actually binding to date objects instead of strings, which would be a pain to fix,) that would be really helpful.</p>