Skip to content Skip to sidebar Skip to footer

Javascript Difference Between Uber And Prototype

I'm relatively new in javaScript and I was doing some inheritance. I thought I know what prototype is but then i met with uber method. Now I don't know the difference between those

Solution 1:

uber is just a sugar method Douglas Crockford created in his examples of inheritance in JavaScript which should help the devoloper when working with the very, very flexible nature of JavaScripts prototypal inheritance.

This method doesn't exist in native JavaScript.

He explains the sugar methods he uses in detail here.


In his examples he defines the uber method as a helper method to access the parent implementation of a method.

Let's assume that you have a "class" (I use this term to ease the example; strictly spoken there are no classes in JavaScript) Human which has a walk method. If you now "extend" this class in an Infant class, you could overwrite walk in such a way that the infant only crawls since it can't walk.

It's obviously not a great example but I hope you get the point.

In such a case you could use Douglas Crockfords uber method to access the Human implementation of walk in the Infant "class".


To compare JavaScripts native prototype object and Douglas Crockfords uber method would make no sense, since both serve completly different purposes.

If you want more information on JavaScripts prototype you can take a look at this question.

Post a Comment for "Javascript Difference Between Uber And Prototype"