title: What is surrogate prototype swapping in javascript?
body: <p>In the <a href="https://github.com/jashkenas/underscore/blob/de320a16237f0a2cdd55a04a5ca2cf1efb62c8b3/underscore.js#L37-L38">underscore.js code</a>, the comments state:</p>
  
  <pre><code>// Naked function reference for surrogate-prototype-swapping.
  var Ctor = function(){};
  </code></pre>
  
  <ul>
  <li>What is surrogate-prototype-swapping?</li>
  </ul>
  
  <p><strong>or</strong></p>
  
  <ul>
  <li>Where can I find an article/clear documentation on surrogate-prototype-swapping?</li>
  </ul>