1. Object.create (प्रोटोटाइप इनहेरिटेंस)
function SomeClass() { }
SomeClass.prototype = Object.create(amitBaseClass.prototype);
केवल amitBaseClass.prototype इनहेरिट करता है। कंस्ट्रक्टर नहीं चलता। SomeClass.prototype.constructor ठीक करना पड़ सकता है।
2. new (कंस्ट्रक्टर इनहेरिटेंस)
function SomeClass() { }
SomeClass.prototype = new amitBaseClass();
amitBaseClass का इंस्टेंस बनाता है और पूरा ऑब्जेक्ट इनहेरिट करता है (प्रोटोटाइप + इंस्टेंस प्रॉपर्टीज़)। कंस्ट्रक्टर चलता है (साइड इफेक्ट्स संभव)।
सिफारिश: Object.create उपयोग करें (क्लीनर, कंस्ट्रक्टर साइड इफेक्ट्स नहीं)। ES6 class extends आंतरिक रूप से इसी पैटर्न का उपयोग करता है।