TypeScript मानक पुस्तकालय: पूर्ण अवलोकन
TypeScript, JavaScript का एक सख्ती से टाइप किया गया सुपरसेट है, जो बड़े अनुप्रयोगों के विकास के लिए स्थैतिक टाइपिंग और शक्तिशाली उपकरण जोड़ता है। कई भाषाओं के विपरीत, TypeScript में क्लासिक अर्थों में (जैसे Java या Python) कोई व्यापक अंतर्निहित मानक पुस्तकालय नहीं है। इसके बजाय, यह अंतर्निहित प्रकारों, प्रकारों के साथ काम करने के लिए उपयोगिताओं, डेकोरेटर और कंपाइलर उपकरणों का एक सेट प्रदान करता है। इस लेख में, हम TypeScript मानक पुस्तकालय के सभी प्रमुख घटकों पर विस्तार से चर्चा करेंगे।
1. अंतर्निहित डेटा प्रकार
TypeScript में सभी JavaScript आदिम प्रकार शामिल हैं और अपने स्वयं के प्रकार जोड़ता है:
boolean— बूलियन प्रकारnumber— संख्याएँ (पूर्णांक और फ्लोटिंग-पॉइंट)string— स्ट्रिंग्सnullऔरundefined— विशेष मानsymbol— अद्वितीय पहचानकर्ताbigint— बड़ी पूर्णांक संख्याएँany— प्रकार जाँच को अक्षम करनाunknown— any का सुरक्षित विकल्पnever— उन फ़ंक्शनों के लिए प्रकार जो कभी समाप्त नहीं होतेvoid— वापसी मान की अनुपस्थिति
अंतर्निहित प्रकारों के उपयोग का उदाहरण:
let isDone: boolean = false;let decimal: number = 42;let color: string = "नीला";let notSure: unknown = 4;notSure = "अब स्ट्रिंग"; // स्वीकार्य
function error(message: string): never { throw new Error(message);}2. उपयोगिता प्रकार (Utility Types)
TypeScript प्रकारों के रूपांतरण के लिए शक्तिशाली अंतर्निहित उपयोगिताएँ प्रदान करता है। यहाँ सबसे उपयोगी हैं:
- Partial<T> — T प्रकार के सभी फ़ील्ड को वैकल्पिक बनाता है
- Required<T> — सभी फ़ील्ड को अनिवार्य बनाता है
- Readonly<T> — सभी फ़ील्ड को केवल-पढ़ने योग्य बनाता है
- Pick<T, K> — प्रकार से निर्दिष्ट कुंजियाँ चुनता है
- Omit<T, K> — निर्दिष्ट कुंजियों को बाहर करता है
- Record<K, T> — K कुंजियों और T मानों के साथ ऑब्जेक्ट प्रकार बनाता है
- Exclude<T, U> — U में मौजूद प्रकारों को बाहर करता है
- ReturnType<T> — फ़ंक्शन के वापसी मान का प्रकार निकालता है
उपयोगिता प्रकारों के उपयोग का उदाहरण:
interface User { id: number; name: string; email: string;}
// उपयोगकर्ता का आंशिक अद्यतनfunction updateUser(id: number, changes: Partial<User>): void { // अद्यतन तर्क}
// केवल पढ़ने के लिएconst readonlyUser: Readonly<User> = { id: 1, name: "इवान", email: "ivan@example.com"};
// फ़ील्ड का चयनtype UserName = Pick<User, "name" | "email">;3. डेकोरेटर
डेकोरेटर विशेष घोषणाएँ हैं जो कक्षाओं, विधियों, गुणों और मापदंडों को संशोधित करने की अनुमति देती हैं। TypeScript कई प्रकार के डेकोरेटर का समर्थन करता है:
- क्लास डेकोरेटर — क्लास कंस्ट्रक्टर पर लागू होते हैं
- मेथड डेकोरेटर — क्लास विधियों पर लागू होते हैं
- प्रॉपर्टी डेकोरेटर — गुणों पर लागू होते हैं
- पैरामीटर डेकोरेटर — विधि मापदंडों पर लागू होते हैं
लॉगिंग के लिए मेथड डेकोरेटर का उदाहरण:
function log(target: any, propertyKey: string, descriptor: PropertyDescriptor) { const originalMethod = descriptor.value; descriptor.value = function (...args: any[]) { console.log(`कॉल ${propertyKey} तर्कों के साथ: ${JSON.stringify(args)}`); return originalMethod.apply(th