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

कोणीय बुनियादी बातें: टाइपस्क्रिप्ट को समझना

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

Angular Fundamentals: Understanding TypeScript

एंगुलर को टाइपस्क्रिप्ट पर बनाया गया है, जो जावास्क्रिप्ट का एक सुपरसेट है जो टाइप सुरक्षा का परिचय देता है, जिससे डेवलपर्स रनटाइम के बजाय विकास के दौरान संभावित त्रुटियों को पकड़ने में सक्षम होते हैं। टाइपस्क्रिप्ट से परिचित डेवलपर्स के लिए, यह एक परिचित परिदृश्य होगा, लेकिन यदि आप टाइपस्क्रिप्ट में नए हैं, तो आइए इसकी कुछ प्रमुख विशेषताओं की समीक्षा करें, जिसमें स्टैटिक टाइपिंग, इंटरफ़ेस, [ शामिल हैं। &&&]वर्ग संपत्तियां, और पहुंच-योग्यता स्तर (जैसे सार्वजनिक और निजी)। कोणीय विकास में आपकी यात्रा के दौरान ये सुविधाएँ महत्वपूर्ण होंगी।

1. स्टेटिक टाइपिंग

टाइपस्क्रिप्ट की मुख्य विशेषताओं में से एक स्थिर टाइपिंग है। जावास्क्रिप्ट के विपरीत, जहां चर किसी भी प्रकार के मान रख सकते हैं, टाइपस्क्रिप्ट आपको चर, गुणों और मापदंडों के प्रकार को

स्पष्ट रूप से निर्दिष्ट करने की अनुमति देता है। सादे जावास्क्रिप्ट में, आप इस तरह से वेरिएबल घोषित कर सकते हैं:


नाम दें = "व्हिस्कर्स"; माना आयु = 5;

let name = "Whiskers";
let age = 5;


नाम दें: स्ट्रिंग = "व्हिस्कर्स"; माना आयु: संख्या = 5;

let name: string = "Whiskers";
let age: number = 5;

यह विकास के दौरान त्रुटियों को पकड़कर आपके कोड में संभावित बग को रोकने में मदद करता है, जिससे आपको अपने कोड की शुद्धता पर अधिक विश्वास मिलता है।

2. इंटरफ़ेस

टाइपस्क्रिप्ट में,

इंटरफ़ेस

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


इंटरफ़ेस कैट { नाम: स्ट्रिंग; उम्र: संख्या; नस्ल?: स्ट्रिंग; // वैकल्पिक संपत्ति }

interface Cat {
    name: string;
    age: number;
    breed?: string; // optional property
}


स्थिरांक शराबी: बिल्ली = { नाम: "शराबी", उम्र: 3 };

const fluffy: Cat = {
    name: "Fluffy",
    age: 3
};


स्थिरांक गलतबिल्ली: बिल्ली = { नाम: "व्हिस्कर्स", // 'आयु' संपत्ति गायब है };

const wrongCat: Cat = {
    name: "Whiskers",
    // missing 'age' property
};

3. वर्ग गुण

टाइपस्क्रिप्ट कक्षाएं जावास्क्रिप्ट कक्षाओं के समान हैं लेकिन अतिरिक्त प्रकार की सुरक्षा और सुविधाओं के साथ। उदाहरण के लिए, आप वर्ग गुणों के लिए स्पष्ट रूप से प्रकार घोषित कर सकते हैं:


वर्ग बिल्ली { नाम: स्ट्रिंग; उम्र: संख्या; कंस्ट्रक्टर (नाम: स्ट्रिंग, आयु: संख्या) { यह.नाम = नाम; यह.आयु = आयु; } }

class Cat {
    name: string;
    age: number;

    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }
}


वर्ग बिल्ली { नाम: स्ट्रिंग; नस्ल?: स्ट्रिंग; }

class Cat {
    name: string;
    breed?: string;
}

4. सार्वजनिक और निजी पहुंच

टाइपस्क्रिप्ट में एक अन्य महत्वपूर्ण विशेषता सार्वजनिक और निजी एक्सेस संशोधक का उपयोग करके कक्षा के सदस्यों (गुणों और विधियों) तक

पहुंच

को नियंत्रित करने की क्षमता है। डिफ़ॉल्ट रूप से, सभी क्लास सदस्य जावास्क्रिप्ट और टाइपस्क्रिप्ट दोनों में सार्वजनिक होते हैं, जिसका अर्थ है कि उन्हें कहीं से भी एक्सेस किया जा सकता है। हालाँकि, आप कक्षा के सदस्यों की पहुंच को कक्षा के भीतर सीमित करने के लिए उन्हें स्पष्ट रूप से निजी के रूप में चिह्नित कर सकते हैं। उदाहरण के लिए:


वर्ग बिल्ली { सार्वजनिक नाम: स्ट्रिंग; निजी आयु: संख्या; कंस्ट्रक्टर (नाम: स्ट्रिंग, आयु: संख्या) { यह.नाम = नाम; यह.आयु = आयु; } बोलना() { वापसी `म्याऊ! मैं ${this.name}` हूं; } }

class Cat {
    public name: string;
    private age: number;

    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }

    speak() {
        return `Meow! I am ${this.name}`;
    }
}


कॉन्स्ट व्हिस्कर्स = नई बिल्ली ("व्हिस्कर्स", 5); कंसोल.लॉग(व्हिस्कर्स.नाम); // ठीक काम करता है कंसोल.लॉग(व्हिस्कर्स.एज); // त्रुटि: 'आयु' निजी है

const whiskers = new Cat("Whiskers", 5);
console.log(whiskers.name); // Works fine
console.log(whiskers.age); // Error: 'age' is private

5. कंस्ट्रक्टर शॉर्टहैंड

टाइपस्क्रिप्ट कंस्ट्रक्टर के माध्यम से गुणों की घोषणा और आरंभ करने के लिए एक आसान

आशुलिपि

प्रदान करता है। गुणों को मैन्युअल रूप से घोषित करने और उन्हें कंस्ट्रक्टर में निर्दिष्ट करने के बजाय, आप उन्हें सीधे कंस्ट्रक्टर की पैरामीटर सूची में घोषित कर सकते हैं। यहां एक बुनियादी उदाहरण है:


वर्ग बिल्ली { कंस्ट्रक्टर (सार्वजनिक नाम: स्ट्रिंग, निजी आयु: संख्या) {} }

class Cat {
    constructor(public name: string, private age: number) {}
}


वर्ग बिल्ली { सार्वजनिक नाम: स्ट्रिंग; निजी आयु: संख्या; कंस्ट्रक्टर (नाम: स्ट्रिंग, आयु: संख्या) { यह.नाम = नाम; यह.आयु = आयु; } }

class Cat {
    public name: string;
    private age: number;

    constructor(name: string, age: number) {
        this.name = name;
        this.age = age;
    }
}

निष्कर्ष

इस लेख में, हमने कुछ प्रमुख टाइपस्क्रिप्ट विशेषताओं को शामिल किया है जिनका सामना आप अक्सर कोणीय विकास में करेंगे:

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

इसके बाद, आइए एंगुलर के लिए अपना विकास परिवेश तैयार करें

और आरंभ करने के लिए आवश्यक टूल सेट करें!

विज्ञप्ति वक्तव्य यह लेख यहां पुन: प्रस्तुत किया गया है: https://dev.to/moh_moh701/angular-fundamentals-understand-typescript-4a14?1 यदि कोई उल्लंघन है, तो कृपया इसे हटाने के लिए स्टडी_गोलंग@163.com से संपर्क करें।
नवीनतम ट्यूटोरियल अधिक>

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

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

Copyright© 2022 湘ICP备2022001581号-3