title: Why doesn't JavaScript allow assigning the property "name" on a Function?
body: <p>See below for what happened in Firefox and Chrome's console:</p>
  
  <pre><code>&gt; var f = function() {}
  undefined
  &gt; f.name = 'f'
  "f"
  &gt; f.name
  ""
  &gt; f.id = 1
  1
  &gt; f.id
  1
  </code></pre>
  
  <p>Why <code>f.name = 'f'</code> is a no-op?</p>