Using a mix of prototypal inheritance and copying properties

When you use inheritance, you will most likely want to take an already existing functionality and then build upon it. This means creating a new object by inheriting from an existing object and then adding additional methods and properties. You can do this with one function call using a combination of the last two approaches just discussed.

You can:

  • Use prototypal inheritance to use an existing object as a prototype of a new one
  • Copy all the properties of another object into the newly created one:
        function objectPlus(o, stuff) { 
          var n; 
          function F() {} 
          F.prototype = o; 
          n = new F(); 
          n.uber = o; 
       
         for (var i in stuff) { 
            n[i] = stuff[i]; 
            } 
          return n; 
        } 
    

This function takes an object o to inherit ...

Get Object-Oriented JavaScript - Third Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.