
Data Structure
Networking
RDBMS
Operating System
Java
MS Excel
iOS
HTML
CSS
Android
Python
C Programming
C++
C#
MongoDB
MySQL
Javascript
PHP
- Selected Reading
- UPSC IAS Exams Notes
- Developer's Best Practices
- Questions and Answers
- Effective Resume Writing
- HR Interview Questions
- Computer Glossary
- Who is Who
How Inheritance Works in Constructor Functions in JavaScript
In this article we will be discussing how inheritance works in JavaScript and how you can make use of this OOPS characteristic inside the constructor function in JavaScript.
We will also be touching a little upon the object in JavaScript. Therefore, some prior knowledge on the same is highly appreciated.
In JavaScript, inheritance is a mechanism by which an object can inherit properties and methods from another object. This can be achieved using constructor functions and the property.
When creating a constructor function, you can use the property to add properties and methods to the constructor function's object. These properties and methods are then inherited by any objects created using the constructor function.
Example
Let us understand the same with the help of following example ?
function Person(name, age) { this.name = name; this.age = age; } Person..getName = function() { return this.name; };
In this example, the Person constructor function has a name and age property and a getName method. Any object created using the Person constructor function will have these properties and methods inherited from the .
You can also create a new constructor function that inherits from an existing constructor function by using the call or apply method to call the parent constructor function and passing in this as the first argument.
Example
Following is the complete working example of inheritance at work in JavaScript ?
// Parent constructor function function Person(name, age) { this.name = name; this.age = age; } // Adding a method to the Person..getName = function() { return this.name; }; // Child constructor function function Employee(name, age, company) { // Calling the parent constructor function Person.call(this, name, age); this.company = company; } // Setting the of the child constructor function Employee. = Object.create(Person.); Employee..constructor = Employee; // Adding a method to the child constructor function Employee..getCompany = function() { return this.company; }; const employee1 = new Employee("John", 25, "Google"); console.log(employee1.name); // "John" console.log(employee1.age); // 25 console.log(employee1.getName()); // "John" console.log(employee1.getCompany()); // "Google"
In this example, we have a parent constructor function called Person which takes in a name and age parameter, also it has a method called getName() which is added to the of the Person constructor function. Then we have a child constructor function called Employee which inherits the properties and methods from the Person constructor function. The Employee constructor function takes in an additional company parameter and also it has a method called getCompany() which is added to the of the Employee constructor function.
So, overall, in JavaScript, constructor functions can be used to create objects that inherit properties and methods from a parent object, this can be achieved by adding properties and methods to the constructor function's object, or by creating a new constructor function that inherits from an existing constructor function.