जावास्क्रिप्ट में इन दो उदाहरणों के बीच अंतर क्या है:
शर्त:
function SomeBaseClass(){
}
SomeBaseClass.prototype = {
doThis : function(){
},
doThat : function(){
}
}
विरासत उदाहरण एक का उपयोग कर Object.create:
function MyClass(){
}
MyClass.prototype = Object.create(SomeBaseClass.prototype);
नए कीवर्ड का उपयोग करके इनहेरिटेंस उदाहरण B
function MyClass(){
}
MyClass.prototype = new SomeBaseClass();
दोनों उदाहरण एक ही काम करते प्रतीत होते हैं। आपने एक को कब चुना?
एक अतिरिक्त प्रश्न: नीचे दिए गए लिंक (पंक्ति 15) में कोड पर विचार करें, जहां फ़ंक्शन के स्वयं के निर्माण का एक संदर्भ प्रोटोटाइप में संग्रहीत है। यह क्यों उपयोगी है?
https://github.com/mrdoob/three.js/blob/master/src/loaders/ImageLoader.js
उद्धरण (यदि आप लिंक नहीं खोलना चाहते हैं):
THREE.ImageLoader.prototype = {
constructor: THREE.ImageLoader
}
Object.create
। यह एक गलती है, और इसे फिर से खोलना चाहिए।