Summary
In this chapter you learned quite a few ways (patterns) for implementing inheritance. The different types can roughly be divided into:
Patterns that work with constructors
Patterns that work with objects
You can also classify the patterns based on whether they:
Use the prototype
Copy properties
Do both (copy properties of the prototype)
Method |
Name |
Example |
Classification |
Notes |
---|---|---|---|---|
1 |
Prototype chaining (pseudo-classical) |
Child.prototype = new Parent(); |
Works with constructors Uses the prototype chain |
The default mechanism described in the ECMA standard. Tip: move all properties/methods that are meant to be reused to the prototype, and add the non-reusable as own properties |
2 |
Inherit only the prototype |
Child.prototype = Parent.prototype; |
Works with constructors Copies the prototype (no prototype chain, all share the same prototype object) |
More efficient since no new instances are created just for the sake of inheritance. Prototype chain lookup during runtime is fast... |