Prototypal inheritance and new keyword
<p>In backbone.js under the inherits method, the authors does this:</p>

<pre><code>var ctor = function() {};
// some other code ...

var child;
// some other code ...
ctor.prototype = parent.prototype;
child.prototype = new ctor();
</code></pre>

<p>The above as I understand it is to allow the new object to inherit the prototypical chain of the parent. I'm trying to wrap my head around this, but in practice, is there a difference between the above and assigning the prototype directly? </p>

<pre><code>child.prototype = parent.prototype
</code></pre>

<p>I understand that there exists this [[prototype]] object that cannot be accessed directly unless through the new keyword. However, given that most object declarations are of the form</p>

<pre><code>var SomeObj = function() {};
SomeObj.prototype.test = function() { return "Hello World"; }
</code></pre>

<p>What would be the practical differences in the above prototype assignments?</p>
