Tuesday, 9 October 2018

JavaScript Inheritance

JavaScript does not have classes unlike other languages. It uses the concept of prototypes and prototype chaining for inheritance.

Let’s implement prototype chaining

//SuperType constructor function
function SuperType(){
    this.name = "Virat"
   }
   
   //SuperType prototype
   SuperType.prototype.getSuperName = function(){
    return this.name
   }
   
   //SubType prototype function
   function SubType(){
    this.age = 26
   }
   
   //Inherit the properties from SuperType
   SubType.prototype = new SuperType();
   
   //Add new property to SubType prototype
   SubType.prototype.getSubAge = function(){
    return this.age;
   }
   
   //Create a SubType object
   var subTypeObj = new SubType();
   console.log(subTypeObj.name); //Output: Virat
   console.log(subTypeObj.age); //Output: 26
   console.log(subTypeObj.getSuperName()); //Output: Virat
   console.log(subTypeObj.getSubAge()); //Output: 26

Above code defines two consructor functions, SuperType and SubType. By default, SubType.prototype has a constructorfunction which points to the constructor function itself and proto property which inherits the default object properties.

//Inherit the properties from SuperType
SubType.prototype = new SuperType();

Now, SubType function has access to all the SuperType properties and methods.

0 comments:

Post a Comment

Topics

ADFS (1) ADO .Net (1) Ajax (1) Angular (47) Angular Js (15) ASP .Net (14) Authentication (4) Azure (3) Breeze.js (1) C# (49) CD (1) CI (2) CloudComputing (2) Coding (8) CQRS (1) CSS (2) Design_Pattern (7) DevOps (4) DI (3) Dotnet (10) DotnetCore (19) Entity Framework (4) ExpressJS (4) Html (4) IIS (1) Javascript (17) Jquery (8) Lamda (3) Linq (10) microservice (4) Mongodb (1) MVC (46) NodeJS (8) React (10) SDLC (1) Sql Server (32) SSIS (3) SSO (1) TypeScript (3) UI (1) UnitTest (2) WCF (14) Web Api (16) Web Service (1) XMl (1)

Dotnet Guru Archives