{"id":100169,"date":"2026-02-04T18:33:11","date_gmt":"2026-02-04T13:03:11","guid":{"rendered":"https:\/\/www.guvi.in\/blog\/?p=100169"},"modified":"2026-04-02T10:55:48","modified_gmt":"2026-04-02T05:25:48","slug":"what-is-javascript-prototype","status":"publish","type":"post","link":"https:\/\/www.guvi.in\/blog\/what-is-javascript-prototype\/","title":{"rendered":"What is Prototype in JavaScript: How Objects Share Properties"},"content":{"rendered":"\n<p>Pure software engineering is about designing products that solve real-world problems and eliminate redundancy from stakeholders&#8217; and customers&#8217; lives. But developing scalable, efficient systems doesn&#8217;t mean writing millions of lines of code; software developers always prioritize writing the most optimal code that can be reused, so programs become more organized and easier to maintain.&nbsp;&nbsp;<\/p>\n\n\n\n<p>Similarly, <strong>Prototypes in JavaScript <\/strong>are mechanisms implemented to keep programs organized and maintainable. The biggest advantage prototypes offer is that they support inheritance, allowing objects to inherit properties and methods from other objects. To better understand this, let&#8217;s move on to the next sections.<\/p>\n\n\n\n<p><strong><em>Quick Answer:<\/em><\/strong><\/p>\n\n\n\n<p>A JavaScript prototype is an object from which other objects inherit properties and methods, enabling code reuse and shared behavior.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Prototype in JavaScript: Definition<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"630\" src=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Prototype-in-JavaScript_-Definition-1200x630.png\" alt=\"\" class=\"wp-image-105385\" srcset=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Prototype-in-JavaScript_-Definition-1200x630.png 1200w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Prototype-in-JavaScript_-Definition-300x158.png 300w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Prototype-in-JavaScript_-Definition-768x403.png 768w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Prototype-in-JavaScript_-Definition-1536x806.png 1536w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Prototype-in-JavaScript_-Definition-2048x1075.png 2048w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Prototype-in-JavaScript_-Definition-150x79.png 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" title=\"\"><\/figure>\n\n\n\n<p>Prototypes in <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/JavaScript\" target=\"_blank\" rel=\"noopener\">JavaScript<\/a><\/strong> are basically models that enable the <a href=\"https:\/\/www.guvi.in\/blog\/objects-methods-and-classes-in-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>objects<\/strong><\/a> in a program to access the properties of other objects. Properties and functions added to the prototype become accessible across all instances. This feature ensures inheritance and optimal memory usage.<\/p>\n\n\n\n<p><strong><em>Example:<\/em><\/strong><\/p>\n\n\n\n<p><strong>\/\/ Constructor function<\/strong><\/p>\n\n\n\n<p>function Student(name) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;this.name = name;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>\/\/ Adding a method to the prototype<\/strong><\/p>\n\n\n\n<p>Student.prototype.sayHello = function() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;return &#8220;Hello, my name is &#8221; + this.name;<\/p>\n\n\n\n<p>};<\/p>\n\n\n\n<p><strong>\/\/ Creating one instance<\/strong><\/p>\n\n\n\n<p>const student1 = new Student(&#8220;Amit&#8221;);<\/p>\n\n\n\n<p>const student2 = new Student(&#8220;Yash&#8221;);<\/p>\n\n\n\n<p><strong>\/\/ Using the prototype method<\/strong><\/p>\n\n\n\n<p>console.log(student.sayHello());<\/p>\n\n\n\n<p><strong><em>Explanation:<\/em><\/strong><\/p>\n\n\n\n<ul>\n<li>In this code, we have created a <strong>Student<\/strong> <strong>object <\/strong>with a <strong>name property<\/strong>. After that, instead of adding the <strong>sayHello() <\/strong>function to each student, we added it to the prototype of the constructor function, i.e., <strong>Person.prototype<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>As a result, all instances of the student can now use that particular method. And at last, we had just printed the output by invoking the function for each student.<\/li>\n<\/ul>\n\n\n\n<p><strong><em>Learn and gain valuable insights with our ultimate JavaScript resource for free:<\/em><\/strong><a href=\"https:\/\/www.guvi.in\/mlp\/js-ebook?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=JavaScript+Prototype%3A+How+Objects+Share+Properties\" target=\"_blank\" rel=\"noreferrer noopener\"><strong> JS eBook<\/strong><\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Working Mechanism of Prototypes<\/strong><\/h2>\n\n\n\n<p>In <a href=\"https:\/\/www.guvi.in\/hub\/javascript\/what-is-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>JavaScript<\/strong><\/a>, prototypes are\u2002essentially how an object shares methods with other objects.<\/p>\n\n\n\n<p>Every object has a hidden link to another object called its prototype, and when you try\u2002to access a property or call a method, JavaScript will look first in that object; if it doesn\u2019t find it there, then on the linked prototype, then on the prototype of the prototype, and so on \u2014 this is known as the<strong> prototypal chain<\/strong>.<\/p>\n\n\n\n<p>When you add properties or methods to a <a href=\"https:\/\/www.guvi.in\/blog\/guide-for-constructors-in-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>constructor function<\/strong><\/a>\u2019s prototype, all objects created from that constructor automatically have access to them, and this means saving memory as well as being able to inherit (i.e., one object can use features of another object through the chain).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Understanding Object Inheritance in JavaScript<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"630\" src=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Understanding-Object-Inheritance-in-JavaScript-1200x630.png\" alt=\"\" class=\"wp-image-105386\" srcset=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Understanding-Object-Inheritance-in-JavaScript-1200x630.png 1200w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Understanding-Object-Inheritance-in-JavaScript-300x158.png 300w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Understanding-Object-Inheritance-in-JavaScript-768x403.png 768w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Understanding-Object-Inheritance-in-JavaScript-1536x806.png 1536w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Understanding-Object-Inheritance-in-JavaScript-2048x1075.png 2048w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/Understanding-Object-Inheritance-in-JavaScript-150x79.png 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" title=\"\"><\/figure>\n\n\n\n<p>In JavaScript, object <a href=\"https:\/\/www.guvi.in\/hub\/javascript\/inheritance-in-javascript\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>inheritance<\/strong><\/a> refers to one\u2002object using the properties and methods of another object without actually declaring them. This occurs via the\u2002<strong>prototype chain<\/strong>. When accessing a\u2002property or method of an object, JavaScript starts by looking at the object.<\/p>\n\n\n\n<p>It starts searching from there; if not found there, it routes to the object\u2019s prototype, then follows its prototype chain until the first encountered property is found. This enables objects to share common characteristics effectively and facilitates extending functionality without repetition.<\/p>\n\n\n\n<p><strong><em>Example:<\/em><\/strong><\/p>\n\n\n\n<p><strong>\/\/ Parent constructor<\/strong><\/p>\n\n\n\n<p>function Animal(name) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;this.name = name;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>\/\/ Adding a method to Animal&#8217;s prototype<\/strong><\/p>\n\n\n\n<p>Animal.prototype.sound = function() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;return this.name + &#8221; makes a sound&#8221;;<\/p>\n\n\n\n<p>};<\/p>\n\n\n\n<p><strong>\/\/ Child constructor<\/strong><\/p>\n\n\n\n<p>function Dog(name, breed) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;Animal.call(this, name); <strong>\/\/ Inherit properties from Animal<\/strong><\/p>\n\n\n\n<p>&nbsp;&nbsp;this.breed = breed;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>\/\/ Inherit methods from Animal&#8217;s prototype<\/strong><\/p>\n\n\n\n<p>Dog.prototype = Object.create(Animal.prototype);<\/p>\n\n\n\n<p>Dog.prototype.constructor = Dog;<\/p>\n\n\n\n<p><strong>\/\/ Adding a method specific to Dog<\/strong><\/p>\n\n\n\n<p>Dog.prototype.bark = function() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;return this.name + &#8221; barks loudly&#8221;;<\/p>\n\n\n\n<p>};<\/p>\n\n\n\n<p><strong>\/\/ Creating an instance of Dog<\/strong><\/p>\n\n\n\n<p>const dog1 = new Dog(&#8220;Tommy&#8221;, &#8220;Labrador&#8221;);<\/p>\n\n\n\n<p>console.log(dog1.sound()); <strong>\/\/ From Animal<\/strong><\/p>\n\n\n\n<p>console.log(dog1.bark()); <strong>\/\/ From Dog<\/strong><\/p>\n\n\n\n<p><strong><em>Explanation:<\/em><\/strong><\/p>\n\n\n\n<p>In this code,<strong> Dog <\/strong>is\u2002a child of <strong>Animal<\/strong>. <strong>dog1<\/strong> can inherit <strong>sound()<\/strong>\u2002from the prototype of <strong>Animal <\/strong>and <strong>bark()<\/strong> from its own prototype. This demonstrates how objects \u2018inherit\u2019 methods from other objects, allowing code reuse while keeping code organized hierarchically and using less memory.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>What is a Prototype Chain?<\/strong><\/h2>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" width=\"1200\" height=\"630\" src=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/What-is-a-Prototype-Chain_-1200x630.png\" alt=\"\" class=\"wp-image-105388\" srcset=\"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/What-is-a-Prototype-Chain_-1200x630.png 1200w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/What-is-a-Prototype-Chain_-300x158.png 300w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/What-is-a-Prototype-Chain_-768x403.png 768w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/What-is-a-Prototype-Chain_-1536x806.png 1536w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/What-is-a-Prototype-Chain_-2048x1075.png 2048w, https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/04\/What-is-a-Prototype-Chain_-150x79.png 150w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" title=\"\"><\/figure>\n\n\n\n<p>In <strong><a href=\"https:\/\/en.wikipedia.org\/wiki\/JavaScript\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">JavaScript<\/a><\/strong>, the prototype chain is the method by which one object can inherit logic and properties of another object. Basically, every object has an internal pointer to another object, which is called its prototype. So when you try to access a property or a method of an object, the JS engine will first check the object itself for the property or method.<\/p>\n\n\n\n<p>If not, it looks to the object&#8217;s prototype, then that prototype&#8217;s prototype, and so forth, until it either locates the property\/method or the chain ends (null).<\/p>\n\n\n\n<p>This chain of objects is called the <strong>prototype chain<\/strong>. It enables inheritance and method sharing across objects without duplicating code.<\/p>\n\n\n\n<p><strong><em>Example:<\/em><\/strong><\/p>\n\n\n\n<p><strong>\/\/ Base object<\/strong><\/p>\n\n\n\n<p>function Person(name) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;this.name = name;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p><strong>\/\/ Adding a method to Person&#8217;s prototype<\/strong><\/p>\n\n\n\n<p>Person.prototype.sayHello = function() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;return &#8220;Hello, my name is &#8221; + this.name;<\/p>\n\n\n\n<p>};<\/p>\n\n\n\n<p><strong>\/\/ Creating an object<\/strong><\/p>\n\n\n\n<p>const person1 = new Person(&#8220;Amit&#8221;);<\/p>\n\n\n\n<p><strong>\/\/ Accessing method from prototype chain<\/strong><\/p>\n\n\n\n<p>console.log(person1.sayHello()); \/\/ Found in Person.prototype<\/p>\n\n\n\n<p><strong>\/\/ Checking the chain<\/strong><\/p>\n\n\n\n<p>console.log(person1.__proto__ === Person.prototype); &nbsp; &nbsp; &nbsp; <strong>\/\/ true<\/strong><\/p>\n\n\n\n<p>console.log(Person.prototype.__proto__ === Object.prototype);&nbsp; <strong>&nbsp;&nbsp;\/\/ true<\/strong><\/p>\n\n\n\n<p>console.log(Object.prototype.__proto__); &nbsp; <strong>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;\/\/ null (end of chain)<\/strong><\/p>\n\n\n\n<p><strong><em>Explanation:<\/em><\/strong><\/p>\n\n\n\n<ul>\n<li><strong>Person1<\/strong> doesn&#8217;t have the<strong> sayHello<\/strong> method directly, so JavaScript looks up the method in<strong> Person.prototype<\/strong> and finds it there.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li><strong>Person.prototype <\/strong>itself is linked to Object. prototype, so if a property is not found there, it checks <strong>Object.prototype<\/strong>.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>The chain stops when it gets to <strong>null<\/strong>.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>How to Set Prototypes<\/strong><\/h2>\n\n\n\n<p>There are mainly two ways to set prototypes. Let&#8217;s understand them one by one with code examples:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>1. By implementing Object.create method<\/strong><\/h3>\n\n\n\n<p>This way creates a new object directly from an existing prototype object. The new object inherits all the properties and methods of the prototype, allowing you to reuse functionality without using a constructor. It\u2019s simple and useful when you just want to link objects through prototypes.<\/p>\n\n\n\n<p><strong><em>Example:<\/em><\/strong><\/p>\n\n\n\n<p>const foodPrototype = {<\/p>\n\n\n\n<p>&nbsp;&nbsp;describe() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;console.log(&#8220;Tasty!&#8221;);<\/p>\n\n\n\n<p>&nbsp;&nbsp;},<\/p>\n\n\n\n<p>};<\/p>\n\n\n\n<p>const pizza = Object.create(foodPrototype);<\/p>\n\n\n\n<p>pizza.describe(); &nbsp; <strong>\/\/ Tasty!<\/strong><\/p>\n\n\n\n<p><strong><em>Explanation:<\/em><\/strong><\/p>\n\n\n\n<ul>\n<li>Here, we initiate with a prototype object that contains the shared methods or properties.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>When we make a new object with <strong>Object.create(prototype)<\/strong>, that new object is internally linked with prototype. In other words, it has access to all of the prototype&#8217;s methods and properties without them being defined in it directly.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>Therefore, the objects created from a prototype instantly get the updates if the prototype changes.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>2. By implementing a constructor function<\/strong><\/h3>\n\n\n\n<p>This method uses a special function to create objects with specific properties. You can also attach shared methods to the constructor\u2019s prototype, so all instances can use them. It\u2019s a common way to create multiple similar objects while keeping shared behavior efficient.<\/p>\n\n\n\n<p><strong><em>Example:<\/em><\/strong><\/p>\n\n\n\n<p>const foodPrototype = {<\/p>\n\n\n\n<p>&nbsp;&nbsp;describe() {<\/p>\n\n\n\n<p>&nbsp;&nbsp;&nbsp;&nbsp;console.log(`This is a ${this.name}!`);<\/p>\n\n\n\n<p>&nbsp;&nbsp;},<\/p>\n\n\n\n<p>};<\/p>\n\n\n\n<p>function FoodItem(name) {<\/p>\n\n\n\n<p>&nbsp;&nbsp;this.name = name;<\/p>\n\n\n\n<p>}<\/p>\n\n\n\n<p>Object.assign(FoodItem.prototype, foodPrototype);<\/p>\n\n\n\n<p>const pizza = new FoodItem(&#8220;Pizza&#8221;);<\/p>\n\n\n\n<p>pizza.describe();&nbsp; &nbsp; &nbsp; <strong>\/\/ This is a Pizza!<\/strong><\/p>\n\n\n\n<p><strong><em>Explanation:<\/em><\/strong><\/p>\n\n\n\n<ul>\n<li>Here we define a constructor function that helps to create objects with certain properties, like name. In the constructor,<strong> Object.assign(this, details)<\/strong> is used to quickly add several properties to the newly created object.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>After that, by setting a prototype object to<strong> Constructor.prototype<\/strong>, all the instances of the constructor get the shared methods as a common property.<\/li>\n<\/ul>\n\n\n\n<ul>\n<li>If we make a new object through a new<strong> Constructor()<\/strong>, it will have its own properties and also be capable of using any methods in the prototype. This is a very neat way to combine the setting of properties and prototype inheritance.<\/li>\n<\/ul>\n\n\n\n<p><strong>Note:<\/strong><\/p>\n\n\n\n<p>Object properties belong directly to the object, while prototype properties\/methods are inherited from the object\u2019s prototype and shared across instances.<\/p>\n\n\n\n<p><\/p>\n\n\n\n<div style=\"background-color: #099f4e; border: 3px solid #110053; border-radius: 12px; padding: 18px 22px; color: #FFFFFF; font-size: 18px; font-family: Montserrat, Helvetica, sans-serif; line-height: 1.6; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); max-width: 750px;\">\n  <strong style=\"font-size: 22px; color: #ffffff;\">\ud83d\udca1 Did You Know?<\/strong> <br \/><br \/>\n  <span>\n    <strong style=\"color: #110053;\">JavaScript<\/strong> is on \n    <strong style=\"color: #110053;\">98.9%<\/strong> of websites, making its \n    <strong style=\"color: #110053;\">prototype-based inheritance<\/strong> one of the most widely used inheritance models on the web.\n  <\/span>\n<\/div>\n\n\n\n<p><\/p>\n\n\n\n<p>Tired of courses that only teach theory? <strong>HCL GUVI&#8217;s IITM Pravartak Certified<\/strong><a href=\"https:\/\/www.guvi.in\/zen-class\/full-stack-development-course\/?utm_source=blog&amp;utm_medium=hyperlink&amp;utm_campaign=JavaScript+Prototype%3A+How+Objects+Share+Properties\" target=\"_blank\" rel=\"noreferrer noopener\"><strong> MERN Full Stack Development Course<\/strong><\/a> goes beyond basics\u2014get hands-on with real projects, build a standout portfolio, and master top tools like Git, MongoDB, Express, React, and Node.js, all while gearing up for actual job interviews. Enroll now and level up!<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Conclusion<\/strong><\/h2>\n\n\n\n<p>In short, JavaScript prototypes let objects <strong>share properties and methods<\/strong>, making code <strong>more efficient, organized, and easier to maintain<\/strong>. They form the <strong>backbone of inheritance<\/strong>, allowing objects to reuse functionality without duplication. By understanding prototypes, you can write cleaner code, create scalable applications, and fully leverage JavaScript\u2019s object-oriented features.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>FAQs<\/strong><\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-question-1770124435515\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>What is the difference between a prototype and a constructor?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The constructor creates new objects, while the prototype holds shared properties and reusable methods.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1770124477576\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Can I add properties to an object\u2019s prototype later?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes, any new property or method is immediately available to all existing and future objects.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-question-1770124500054\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \"><strong>Why use prototypes instead of adding methods inside the constructor?<\/strong><\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Prototypes efficiently save memory by allowing all objects to share the same methods.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Pure software engineering is about designing products that solve real-world problems and eliminate redundancy from stakeholders&#8217; and customers&#8217; lives. But developing scalable, efficient systems doesn&#8217;t mean writing millions of lines of code; software developers always prioritize writing the most optimal code that can be reused, so programs become more organized and easier to maintain.&nbsp;&nbsp; Similarly, [&hellip;]<\/p>\n","protected":false},"author":64,"featured_media":105383,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[429,294],"tags":[],"views":"841","authorinfo":{"name":"Abhishek Pati","url":"https:\/\/www.guvi.in\/blog\/author\/abhishek-pati\/"},"thumbnailURL":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/02\/JavaScript-Prototype-How-Objects-Share-Properties-300x116.png","jetpack_featured_media_url":"https:\/\/www.guvi.in\/blog\/wp-content\/uploads\/2026\/02\/JavaScript-Prototype-How-Objects-Share-Properties.png","_links":{"self":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/100169"}],"collection":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/users\/64"}],"replies":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/comments?post=100169"}],"version-history":[{"count":6,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/100169\/revisions"}],"predecessor-version":[{"id":105396,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/posts\/100169\/revisions\/105396"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media\/105383"}],"wp:attachment":[{"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/media?parent=100169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/categories?post=100169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.guvi.in\/blog\/wp-json\/wp\/v2\/tags?post=100169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}