What Are JavaScript Prototypes?
JavaScript is a prototype-based language, meaning objects can inherit properties and methods from other objects. Unlike classical inheritance (used in Java or C++), JavaScript relies on prototypes for object-oriented programming.
How Prototypes Work in JavaScript
Every JavaScript object has a hidden [[Prototype]] property that links to another object (its prototype). When you access a property or method, JavaScript checks:
- The object itself.
- Its prototype (if not found).
- The prototype’s prototype (forming a prototype chain) until it reaches
null.
Example: Prototype Inheritance
function Person(name) {
this.name = name;
}
// Adding a method to the prototype
Person.prototype.greet = function() {
return `Hello, ${this.name}!`;
};
const john = new Person("John");
console.log(john.greet()); // "Hello, John!"
Here, john inherits greet() from Person.prototype.
Why Prototypes Matter
- Memory Efficiency – Methods defined on prototypes are shared across instances.
- Dynamic Updates – Changing a prototype affects all instances.
- Flexible Inheritance – Objects can inherit from multiple prototypes.
Common Prototype Methods
Object.create()– Creates a new object with a specified prototype.Object.getPrototypeOf()– Returns an object’s prototype.instanceof– Checks if an object inherits from a prototype.
Modern JavaScript: Classes vs. Prototypes
ES6 introduced class, but it’s syntactic sugar over prototypes:
class Person {
constructor(name) { this.name = name; }
greet() { return `Hello, ${this.name}!`; }
}
Under the hood, it still uses prototypes.
Key Takeaways
- JavaScript uses prototypal inheritance (not classical).
- The
prototypeproperty allows method sharing. __proto__(deprecated) andObject.getPrototypeOf()access prototypes.- ES6 classes simplify prototype syntax but work the same way.
Written by Shaikh Abdul Shahid
A Full-Stack Developer with experience in PHP, Laravel, JavaScript, and React.
Founder of Online Learner, sharing practical knowledge and programming tutorials.
Building and maintaining real-world web applications since 2017.
Your Feedback
Help us improve by sharing your thoughts
Online Learner helps developers master programming, database concepts, interview preparation, and real-world implementation through structured learning paths.
Quick Links
© 2023 - 2026 OnlineLearner.in | All Rights Reserved.
