में कोई अन्य विरासत में मिला है, तो मुझे ऐसी स्थिति है जहां मुझे यह जांचने की आवश्यकता है कि एक कन्स्ट्रक्टर (एक्स) के पास प्रोटोटाइप श्रृंखला (या स्वयं स्वयं है) में कोई अन्य कन्स्ट्रक्टर (वाई) है या नहीं।जांचें कि क्या किसी कन्स्ट्रक्टर को ES6
ऐसा करने का सबसे तेज़ माध्यम (new X()) instanceof Y
हो सकता है। यह इस मामले में एक विकल्प नहीं है क्योंकि प्रश्नों के निर्माणकर्ता वैध तर्क के बिना तत्काल अगर फेंक सकते हैं।
अगले दृष्टिकोण मैं माना जाता है यह है:
const doesInherit = (A, B) => {
while (A) {
if (A === B) return true;
A = Object.getPrototypeOf(A);
}
return false;
}
काम करता है यही कारण है कि, लेकिन मैं समझ है कि मैं इस जांच करने के लिए कुछ और सरल तरीके से याद कर रहा हूँ हिला नहीं कर सकते। क्या कोई है?
'ऑब्जेक्ट .getPrototypeOf (ए) उदाहरण बी बी उदाहरण मुझे लगता है कि काम करना चाहिए। –
यही वह है जो मैं ऊपर उपयोग कर रहा हूं (लेकिन == के साथ), और यह काम करता है (हालांकि इसे लूप किया जाना चाहिए, क्योंकि विरासत हमेशा प्रत्यक्ष नहीं होती है)। या शायद मैं गलत समझ सकता हूँ? – Semicolon
नहीं, मेरा मुद्दा लूपिंग के बजाय 'Object.getPrototypeOf (ए) उदाहरण बी 'का उपयोग करना है। आप कुछ पूरी तरह से अलग कर रहे हैं: पी –