"यदि कोई कर्मचारी अपना काम अच्छी तरह से करना चाहता है, तो उसे पहले अपने औजारों को तेज करना होगा।" - कन्फ्यूशियस, "द एनालेक्ट्स ऑफ कन्फ्यूशियस। लू लिंगगोंग"
मुखपृष्ठ > प्रोग्रामिंग > टाइपस्क्रिप्ट में रनटाइम इंटरफ़ेस प्रकार की जांच कैसे करें?

टाइपस्क्रिप्ट में रनटाइम इंटरफ़ेस प्रकार की जांच कैसे करें?

2024-12-23 को प्रकाशित
ब्राउज़ करें:442

How to Perform Runtime Interface Type Checks in TypeScript?

टाइपस्क्रिप्ट में इंटरफ़ेस टाइप चेक

टाइपस्क्रिप्ट के भीतर, आप एक ऐसे परिदृश्य का सामना कर सकते हैं जहां रनटाइम पर पूर्वनिर्धारित इंटरफ़ेस के साथ किसी ऑब्जेक्ट के अनुपालन का निर्धारण करना महत्वपूर्ण है . जबकि इंस्टेंसऑफ़ कीवर्ड का लाभ उठाने वाले क्लास प्रकार की जांच सीधी होती है, इसे इंटरफेस पर लागू करना एक चुनौती पेश करता है।

पारंपरिक दृष्टिकोण, जैसे कि इंस्टेंसऑफ़ ऑपरेटर पर भरोसा करना, अप्रभावी साबित होता है क्योंकि इंटरफेस में संकलित जावास्क्रिप्ट में विशिष्ट प्रकारों के रूप में प्रतिनिधित्व की कमी होती है। इसके बजाय, कस्टम प्रकार के गार्ड एक समाधान प्रदान करते हैं:

interface A {
    member: string;
}

function instanceOfA(object: any): object is A {
    return 'member' in object;
}

var a: any = { member: "foobar" };

if (instanceOfA(a)) {
    alert(a.member);
}

यह दृष्टिकोण इंस्टेंसऑफ़ कीवर्ड की आवश्यकता के बिना इंटरफ़ेस अनुपालन के रनटाइम सत्यापन की अनुमति देता है।

ऐसी स्थितियों में जहां एकाधिक सदस्यों की जांच की जानी चाहिए, एक विभेदक संपत्ति पेश की जा सकती है। इस दृष्टिकोण के लिए अपने स्वयं के भेदभावकर्ताओं को प्रबंधित करने और संघर्षों से बचने के लिए विशिष्टता सुनिश्चित करने की आवश्यकता है:

interface A {
    discriminator: 'I-AM-A';
    member: string;
}

function instanceOfA(object: any): object is A {
    return object.discriminator === 'I-AM-A';
}

var a: any = { discriminator: 'I-AM-A', member: "foobar" };

if (instanceOfA(a)) {
    alert(a.member);
}

कस्टम टाइप गार्ड या विवेचकों को नियोजित करके, आप अपने टाइपस्क्रिप्ट अनुप्रयोगों की मजबूती को बढ़ाते हुए, रनटाइम पर इंटरफ़ेस प्रकार की जांच प्रभावी ढंग से कर सकते हैं।

नवीनतम ट्यूटोरियल अधिक>

चीनी भाषा का अध्ययन करें

अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।

Copyright© 2022 湘ICP备2022001581号-3