# C2. Inheritance

There are several inheritance-related topics in JavaScript:

1. [Constructor functions](c2-constructors/01-constructor-function) - constructors as factories for instances, similar to classes in other languages.
2. [Constructor `prototype` property](c2-constructors/02-constructor-prototype) - prototypical inheritance.
3. [`constructor` property](c2-constructors/03-constructor-property) - reference to constructor function.
4. [`instanceof` operator](c2-constructors/04-instanceof-operator) - checking prototype chain.
5. [Enforce usage of `new`](c2-constructors/05-enforce-new) - how to guarantee that constructor function called with `new`.
