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

टाइप गार्ड क्यों आवश्यक हैं? विभिन्न प्रकारों और उनके उपयोग के मामलों की खोज

2024-11-08 को प्रकाशित
ब्राउज़ करें:296

Why Are Type Guards Necessary? Exploring Different Types and Their Use Cases

टाइप गार्ड क्यों आवश्यक हैं? विभिन्न प्रकारों और उनके उपयोग के मामलों की खोज

टाइपस्क्रिप्ट में, टाइप गार्ड कोडबेस को अधिक विश्वसनीय और डेवलपर-अनुकूल बनाने में एक आवश्यक भूमिका निभाते हैं। वे डेवलपर्स को प्रकारों को सीमित करने की अनुमति देकर प्रकार की सुरक्षा सुनिश्चित करने में मदद करते हैं, जो रनटाइम त्रुटियों में मदद करता है और कोड को समझने और बनाए रखने में आसान बनाता है।

टाइप गार्ड क्या हैं?

टाइप गार्ड एक्सप्रेशन ओडी फ़ंक्शन हैं जो प्रकारों पर रनटाइम जांच करते हैं, यह सुनिश्चित करते हुए कि मान आगे संसाधित होने से पहले विशिष्ट मानदंडों को पूरा करते हैं। वे प्रकार की सुरक्षा बनाए रखने में मदद करते हैं, जिससे डेवलपर्स को मूल्यों को उचित रूप से संभालने की अनुमति मिलती है।

टाइप गार्ड क्यों आवश्यक हैं?

जावास्क्रिप्ट में, आपको अक्सर ऐसे मान मिलते हैं जिनके कई प्रकार हो सकते हैं, जैसे कोई फ़ंक्शन जो या तो एक स्ट्रिंग या संख्या लौटाता है। टाइप गार्ड के बिना, टाइपस्क्रिप्ट सटीक प्रकार निर्धारित करने में सक्षम नहीं होगा, जिससे संभावित रनटाइम त्रुटियां और गलत व्यवहार हो सकता है। टाइप गार्ड आपको रनटाइम पर मान के प्रकार की जांच करने की अनुमति देते हैं, टाइपस्क्रिप्ट को प्रकारों को सीमित करने और अधिक सटीक टाइप-चेकिंग प्रदान करने में मदद करते हैं।

सामान्य प्रकार के गार्ड और उनके उपयोग के मामले

1. टाइपऑफ टाइप गार्ड्स

केस का उपयोग करें: आदिम प्रकारों के लिए बुनियादी प्रकार की जांच।
उदाहरण:

function printValue(value: string | number) {
  if (typeof value === "string") {
    console.log(`String value: ${value.toUpperCase()}`);
  } else {
    console.log(`Number value: ${value.toFixed(2)}`);
  }
}

स्पष्टीकरण: टाइपोफ़ आदिम प्रकारों (स्ट्रिंग, संख्या, बूलियन) के साथ प्रभावी है। यह फ़ंक्शन को स्ट्रिंग और संख्या प्रकारों को अलग-अलग तरीके से संभालने की अनुमति देता है।

2. कस्टम टाइप गार्ड (कीवर्ड है)

केस का उपयोग करें: जटिल तर्क के लिए, कस्टम आकार या इंटरफेस की जांच।

उदाहरण:

 interface Square {
    side: number;
  }
  interface Circle {
    radius: number;
  }

  function isSquare(shape: Square | Circle): shape is Square {
    return (shape as Square).side !== undefined;
  }

  function calculateArea(shape: Square | Circle) {
    if (isSquare(shape)) {
      return shape.side * shape.side;
    } else {
      return Math.PI * shape.radius * shape.radius;
    }
  }

स्पष्टीकरण: कस्टम प्रकार गार्ड आपको उन कार्यों को परिभाषित करने देते हैं जो प्रकार निर्धारित करने के लिए विशिष्ट विशेषताओं की जांच करते हैं। यहां, isSquare साइड प्रॉपर्टी की उपस्थिति की जांच करता है।

3. ऑपरेटर प्रकार गार्ड में

केस का उपयोग करें: यह जांचना कि क्या किसी वस्तु में कोई विशिष्ट संपत्ति है।
उदाहरण:

 interface Car {
    drive(): void;
  }
  interface Boat {
    sail(): void;
  }

  function move(vehicle: Car | Boat) {
    if ("drive" in vehicle) {
      vehicle.drive();
    } else {
      vehicle.sail();
    }
  }

स्पष्टीकरण: इन ऑपरेटर किसी संपत्ति के अस्तित्व की जांच करता है, टाइपस्क्रिप्ट को प्रकार को समझने में मदद करता है और प्रासंगिक तरीकों तक पहुंच की अनुमति देता है।

निष्कर्ष

टाइप गार्ड टाइपस्क्रिप्ट में एक शक्तिशाली सुविधा है जो सटीक टाइप-चेकिंग सक्षम करता है, त्रुटियों को कम करता है, और कोड पठनीयता और रखरखाव में सुधार करता है। टाइपऑफ़, इंस्टेंसऑफ़, कस्टम टाइप गार्ड और इन ऑपरेटर का लाभ उठाकर, आप टाइपस्क्रिप्ट परियोजनाओं में जटिल प्रकारों को सुरक्षित और प्रभावी ढंग से संभाल सकते हैं।

विज्ञप्ति वक्तव्य यह आलेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/naymhdev/why-are-type-guards-necessary-exploring-dependent-types-and-their-use-cases-2f8e?1 यदि कोई उल्लंघन है, तो कृपया स्टडी_गोलंग@163 .comडिलीट से संपर्क करें
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3