They key difference is that when you create an event emitter in JS, you now have a resource to manage. Where does that go in your app? In each component? How does the component know how to turn these off if it is no longer in use? In the root? How does the root know who needs what?<p>So basically, the difference is in resource management. The web socket example makes this clearer. You never have to ask &quot;who owns the connection?&quot; to use the connection.