एंगुलर को टाइपस्क्रिप्ट पर बनाया गया है, जो जावास्क्रिप्ट का एक सुपरसेट है जो टाइप सुरक्षा का परिचय देता है, जिससे डेवलपर्स रनटाइम के बजाय विकास के दौरान संभावित त्रुटियों को पकड़ने में सक्षम होते हैं। टाइपस्क्रिप्ट से परिचित डेवलपर्स के लिए, यह एक परिचित परिदृश्य होगा, लेकिन यदि आप टाइपस्क्रिप्ट में नए हैं, तो आइए इसकी कुछ प्रमुख विशेषताओं की समीक्षा करें, जिसमें स्टैटिक टाइपिंग, इंटरफ़ेस, [ शामिल हैं। &&&]वर्ग संपत्तियां, और पहुंच-योग्यता स्तर (जैसे सार्वजनिक और निजी)। कोणीय विकास में आपकी यात्रा के दौरान ये सुविधाएँ महत्वपूर्ण होंगी।
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; } }
निष्कर्ष
इसके बाद, आइए एंगुलर के लिए अपना विकास परिवेश तैयार करें
और आरंभ करने के लिए आवश्यक टूल सेट करें!
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3