Prototypal Inheritance using __proto__ in JavaScript

Every object with its methods and properties contains an internal and hidden property known as [[Prototype]]. The Prototypal Inheritance is a feature in javascript used to add methods and properties in objects. It is a method by which an object can inherit the properties and methods of another object. Traditionally, in order to get and set the [[Prototype]] of an object, we use Object.getPrototypeOf and Object.setPrototypeOf. Nowadays, in modern language, it is being set using __proto__.
Syntax:
ChildObject.__proto__ = ParentObject
Example In the given example, there are two objects ‘person’ and ‘GFGuser’. The object ‘GFGuser’ inherits the methods and properties of the object ‘person’ and further uses them.
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <title>prototype</title> </head> <body> <script> // object person let person = { talk: true, Canfly() { return "Sorry, Can't fly"; }, }; // Object GFGuser let GFGuser = { CanCode: true, CanCook() { return "Can't say"; }, // Inheriting the properties and methods of person __proto__: person, }; // Printing on console // Property of person console.log("Can a GFG User talk: " + GFGuser.talk); // Method of person console.log("Can a GFG User fly: " + GFGuser.Canfly()); // Property of GFGuser console.log("Can a GFG User code: " + GFGuser.CanCode); // Method of GFGuser console.log("Can a GFG User cook: " + GFGuser.CanCook()); </script> </body> </html> |
Output




