JavaScript Inheritance


  • Inheritance through Prototype 
  • Function constructor and Prototype

Inheritance through Prototype

  • Prototype-based Languages
  • Two different ways for supporting inheritance in programming languages 
    • Scheme #1: Through traditional class hierarchy (Java, C, C++, ...) 
    • Scheme #2: Through prototype (JavaScript) 
  • JavaScript is a prototype-based language 
  • In a prototype-based language, there is no concept of a "class" 
    • Inheritance is provided through prototype, however 
  • In prototype-based language, every object has “prototype” property (the actual name of the “prototype” property is __proto__) that points to “prototype” object 
    • Since the prototype object itself is a JavaScript object, it has its own “prototype” property, which in turn forms “prototype chain”, until it reaches “Object” object, which has null as its prototype


Download course content