ForgeFrontend — Prepare, Practice, Crack
Secure checkout
Lifetime access
Instant Drive delivery
Free updates forever

Prepare · Practice · Crack

What's the difference between __proto__ and prototype?

Quick answer

`prototype` is a property on constructor functions; `__proto__` is the actual prototype link on every instance.

In detail

`Fn.prototype` is the object that becomes the prototype of objects created with `new Fn()`. `obj.__proto__` (or `Object.getPrototypeOf(obj)`) is the live link from an instance to its prototype. So `new Fn().__proto__ === Fn.prototype`.

function Dog() {}
const d = new Dog();
d.__proto__ === Dog.prototype;          // true
Object.getPrototypeOf(d) === Dog.prototype; // true

Why interviewers ask this: Tests precise understanding of the prototype wiring.

This is 1 of 118+ questions in the JavaScript Interview Kit

Get every question with detailed answers, follow-ups and real code — plus coding challenges and a last-minute revision sheet. One-time payment, instant access.

⚡ Get the JavaScript Interview Kit → ₹299

Full kit

JavaScript Interview Kit · ₹299

Get it →