TypeScript मानक पुस्तकालय: पूर्ण अवलोकन

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

TypeScript मानक पुस्तकालय: पूर्ण अवलोकन



TypeScript JavaScript का एक सख्ती से टाइप किया गया सुपरसेट है जो सामान्य JS में कंपाइल होता है। हालाँकि, इसकी ताकत केवल टाइप सिस्टम में नहीं है। अंतर्निहित TypeScript मानक पुस्तकालय प्रकारों, उपयोगिताओं और मेटाप्रोग्रामिंग के साथ काम करने के लिए शक्तिशाली उपकरण प्रदान करता है। इस लेख में, हम TypeScript मानक पुस्तकालय के प्रमुख घटकों का विश्लेषण करेंगे, उनके उपयोग के उदाहरण दिखाएंगे और व्यावहारिक सुझाव देंगे।



TypeScript मानक पुस्तकालय क्या है?

TypeScript मानक पुस्तकालय अंतर्निहित प्रकारों, इंटरफेस और उपयोगिताओं का एक सेट है जो कंपाइलर के साथ आता है। इसमें शामिल हैं:

  • मूल प्रकार (string, number, boolean, any, unknown, never, void)।
  • उपयोगिता प्रकार (Partial, Required, Pick, Omit, Record और अन्य)।
  • डेकोरेटर (मेटाप्रोग्रामिंग के लिए प्रायोगिक सुविधा)।
  • नाम स्थान (namespace) और मॉड्यूल।
  • विस्तारित प्रकार (Promise, Map, Set, WeakMap, WeakSet)।
  • DOM के साथ काम करने के लिए प्रकार (lib: ["dom"] के माध्यम से शामिल)।


उपयोगिता प्रकार: पुस्तकालय का हृदय

उपयोगिता प्रकार कोड की नकल किए बिना मौजूदा प्रकारों को बदलने की अनुमति देते हैं। आइए सबसे लोकप्रिय पर नज़र डालें:



Partial और Required

interface User {  id: number;  name: string;  email: string;}

// सभी फ़ील्ड वैकल्पिक हो जाते हैंtype PartialUser = Partial<User>;

// सभी फ़ील्ड अनिवार्य हो जाते हैं (यदि वे वैकल्पिक थे)type RequiredUser = Required<PartialUser>;


Pick और Omit

interface Product {  id: number;  title: string;  price: number;  description: string;}

// केवल आवश्यक फ़ील्ड चुनेंtype ProductPreview = Pick<Product, 'id' | 'title'>;

// अनावश्यक फ़ील्ड को बाहर करेंtype ProductWithoutDesc = Omit<Product, 'description'>;


Record और Readonly

// विशिष्ट कुंजियों और मानों के साथ एक ऑब्जेक्ट बनाता हैtype UserRoles = Record<'admin' | 'user' | 'guest', string>;

// सभी फ़ील्ड को केवल पढ़ने योग्य बनाता हैtype ReadonlyUser = Readonly<User>;


Promise और एसिंक्रोनसिटी के साथ काम करना

TypeScript एसिंक्रोनस कोड के साथ काम करने के लिए अंतर्निहित प्रकार प्रदान करता है:

async function fetchData(): Promise<string> {  return "डेटा लोड हो गया";}

// Promise के परिणाम के लिए प्रकारtype DataType = Awaited<ReturnType<typeof fetchData>>; // string


डेकोरेटर: TypeScript में मेटाप्रोग्रामिंग

डेकोरेटर विशेष घोषणाएँ हैं जो कक्षाओं, विधियों, गुणों और मापदंडों को एनोटेट और संशोधित करने की अनुमति देती हैं। इनका उपयोग फ्रेमवर्क (Angular, NestJS) में सक्रिय रूप से किया जाता है।



क्लास डेकोरेटर का उदाहरण

function sealed(constructor: Function) {  Object.seal(constructor);  Object.seal(constructor.prototype);}

@sealedclass Calculator { add(a: number, b: number): number { return a + b; }}


मेथड डेकोरेटर का उदाहरण

function log(target: any, key: string, descriptor: PropertyDescriptor) {  const original = descriptor.value;  descriptor.value = function (...args: any[]) {    console.log(`विधि ${key} को तर्कों के साथ बुलाया गया: ${args}`);    return original.apply(this, args);  };  return descriptor;}

class UserService { @log getUser(id: number): string { return `उपयोगकर्ता ${id}`; }}


नाम स्थान (Namespaces)

नाम स्थान कोड को व्यवस्थित करने और टकराव से बचने में मदद करते हैं

अनुशंसाएँ