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

