Why would it cause a crash?<p>In function createObject(), the `this` reference is bound to the local scope of the node file. You assign a global `obj` handle to that reference when it is returned from the invocation of `createObject`. You then compare (not write!) 3 with a nonexistent property (undefined) on that reference.<p>Why would that cause a crash?<p>Git gud, as the kids say these days.<p>Maybe do some reading:<p><a href="http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;27031663&#x2F;default-binding-of-this-is-different-from-chrome-browser-and-node-js" rel="nofollow">http:&#x2F;&#x2F;stackoverflow.com&#x2F;questions&#x2F;27031663&#x2F;default-binding-...</a><p>EDIT:<p>Node and Javascript have <i>all kinds</i> of other problems, but if you take a second to learn about how things like `this` are handled in the language, you won&#x27;t be <i>nearly</i> as surprised later.