JavaScript Q&A Logo
JavaScript Q&A Part of the Q&A Network
Real Questions. Clear Answers.
Ask any question about JavaScript here... and get an instant response.
Q&A Logo Q&A Logo

What is the difference between class-based and prototype-based inheritance in JavaScript?

Asked on Jul 25, 2025

Answer

JavaScript supports both class-based and prototype-based inheritance, but they are implemented differently. Class-based inheritance uses the "class" keyword, while prototype-based inheritance relies on objects and prototypes directly.
// Class-based inheritance
        class Animal {
            constructor(name) {
                this.name = name;
            }
            speak() {
                console.log(`${this.name} makes a noise.`);
            }
        }

        class Dog extends Animal {
            speak() {
                console.log(`${this.name} barks.`);
            }
        }

        const dog = new Dog('Rex');
        dog.speak(); // Rex barks.

        // Prototype-based inheritance
        function AnimalProto(name) {
            this.name = name;
        }

        AnimalProto.prototype.speak = function() {
            console.log(`${this.name} makes a noise.`);
        };

        function DogProto(name) {
            AnimalProto.call(this, name);
        }

        DogProto.prototype = Object.create(AnimalProto.prototype);
        DogProto.prototype.constructor = DogProto;

        DogProto.prototype.speak = function() {
            console.log(`${this.name} barks.`);
        };

        const dogProto = new DogProto('Buddy');
        dogProto.speak(); // Buddy barks.
Additional Comment:
  • Class-based inheritance uses the "class" and "extends" keywords, making it more syntactically similar to other object-oriented languages.
  • Prototype-based inheritance uses constructor functions and the "prototype" property to achieve inheritance.
  • Both approaches ultimately rely on JavaScript's prototype chain, but classes provide a more intuitive syntax.
  • In ES6+, class-based syntax is preferred for its readability and ease of use.
✅ Answered with JavaScript best practices.
← Back to All Questions

Q&A Network
The Q&A Network
JavaScript
Ask Questions / Get Answers about JavaScript!
Networking
Ask Questions / Get Answers about Networking!
Graphic Design
Ask Questions / Get Answers about Graphic Design!
Web Hosting
Ask Questions / Get Answers about Hosting!
Monetization
Ask Questions / Get Answers about Ad & Monetization!
SEO
Ask Questions / Get Answers about SEO!
Performance
Ask Questions / Get Answers about Web Vitals!
AI
Ask Questions / Get Answers about AI!
AI Coding
Ask Questions / Get Answers about AI Coding!
Analytics
Ask Questions / Get Answers about Analytics!
DevOps
Ask Questions / Get Answers about DevOps!
AI Ethics
Ask Questions / Get Answers about AI Ethics!
VR & AR
Ask Questions / Get Answers about VR & AR!
Film Production
Ask Questions / Get Answers about Film Production!
WordPress
Ask Questions / Get Answers about WordPress!
Cloud Computing
Ask Questions / Get Answers about Cloud Computing!
Chatbots
Ask Questions / Get Answers about Chatbots!
Data Science
Ask Questions / Get Answers about Data Science!
AI Education
Ask Questions / Get Answers about AI Education!
Robotics
Ask Questions / Get Answers about Robotics!
AI Design
Ask Questions / Get Answers about AI Design!
Security
Ask Questions / Get Answers about Website Security!
Tailwind
Ask Questions / Get Answers about Tailwind!
AI Marketing
Ask Questions / Get Answers about AI Marketing!
Cybersecurity
Ask Questions / Get Answers about Cybersecurity!
MobileDev
Ask Questions / Get Answers about Mobile Developement!
AI Video
Ask Questions / Get Answers about AI Video!
IoT
Ask Questions / Get Answers about IoT!
Web Languages
Ask Questions / Get Answers about Web Languages!
Photography
Ask Questions / Get Answers about Photography!
Bootstrap
Ask Questions / Get Answers about Bootstrap!
AI Images
Ask Questions / Get Answers about AI Images!
Web Development
Ask Questions / Get Answers about Web Development!
Video Editing
Ask Questions / Get Answers about Video Editing!
Quantum
Ask Questions / Get Answers about Quantum Computing!
AI Writing
Ask Questions / Get Answers about AI Writing!
AI Audio
Ask Questions / Get Answers about AI Audio!
HTML
Ask Questions / Get Answers about HTML!
AI Business
Ask Questions / Get Answers about AI Business!
CSS
Ask Questions / Get Answers about CSS!