TypeScript Academy · पाठ

TypeScript 5.1-5.2: बेहतर प्रकार अनुमान

सेटर/गेटर प्रकारों की स्वतंत्रता और using घोषणाओं का अध्ययन करें

पाठ 2, कुल 4 में से13 चरण

TypeScript 5.1-5.2: बेहतर प्रकार अनुमान, CoddyKit पर TypeScript Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह TypeScript Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

TypeScript 5.1 का अवलोकन

TypeScript 5.1 (जून 2023 में जारी) ने सेटर और गेटर प्रकारों की स्वतंत्रता, JSX तत्व प्रकार के लचीलेपन, संपादकों में लिंक किए गए कर्सर और प्रदर्शन अनुकूलन में सुधार किया।

// npm install typescript@5.1

सेटर/गेटर प्रकार स्वतंत्रता

5.1 से पहले सेटर और गेटर में एक ही प्रकार का उपयोग करना पड़ता था। अब गेटर, सेटर द्वारा स्वीकार किए जाने वाले प्रकार से अधिक व्यापक प्रकार लौटा सकता है—यह प्रकार-रूपांतरण पैटर्न के लिए उपयोगी है।

class Temperature {
  get celsius(): string { return this._c + "°C"; } // string
  set celsius(value: string | number) {             // string | number
    this._c = Number(value);
  }
  private _c = 0;
}

JSX चिल्ड्रन के रूप में undefined

TS 5.1 में घटक अपने रेंडर फ़ंक्शन से सीधे undefined लौटा सकते हैं, null के अतिरिक्त। यह React 18 के व्यवहार के अनुरूप है।

// TS 5.1+: OK
function Widget(): undefined { return undefined; }
// Before 5.1: had to return null or JSX element

JSX तत्व प्रकार में लचीलापन

नया JSX.ElementType प्रतिबंध कस्टम JSX फ़ैक्टरी के लिए अधिक लचीलापन देता है, जो गैर-React परिवेशों के लिए उपयोगी है।

// Custom JSX element types supported more naturally in 5.1

TypeScript 5.2 का अवलोकन

TypeScript 5.2 (अगस्त 2023 में जारी) में using घोषणाएँ (स्पष्ट संसाधन प्रबंधन), डेकोरेटर मेटाडेटा और सारणी की प्रतिलिपि बनाने वाली विधियाँ शामिल की गईं।

// npm install typescript@5.2

using घोषणाएँ

using स्पष्ट संसाधन प्रबंधन प्रस्ताव को लागू करता है — संसाधन की [Symbol.dispose]() विधि तब बुलाई जाती है जब वह अपने दायरे से बाहर चला जाता है।

// Requires lib: ["es2022", "esnext.disposable"]
function getConnection(): Disposable {
  const conn = openDb();
  return { [Symbol.dispose]() { conn.close(); } };
}

{
  using conn = getConnection();
  // conn.close() called automatically at block end
}

असिंक्रोनस निपटान के लिए await using

await using, using की तरह काम करता है, लेकिन एक असिंक्रोनस [Symbol.asyncDispose]() विधि को बुलाता है, जिससे असिंक्रोनस सफ़ाई संभव होती है।

async function run() {
  await using db = await connectDb();
  // db[Symbol.asyncDispose]() called on exit
}

डेकोरेटर मेटाडेटा

TS 5.2 TC39 के डेकोरेटर मेटाडेटा प्रस्ताव को लागू करता है, जिससे डेकोरेटर Symbol.metadata के माध्यम से मेटाडेटा जोड़ सकते हैं।

function meta(value: string) {
  return (_: unknown, ctx: DecoratorContext) => {
    ctx.metadata[ctx.name] = value;
  };
}

@meta("service")
class MyService {}
console.log((MyService as any)[Symbol.metadata]); // { "MyService": "service" }

सरणी की प्रतिलिपि बनाने वाली विधियाँ

TS 5.2 ने Array.prototype.toSorted, toReversed, toSpliced और with के लिए प्रकार जोड़े — ये ES2023 की अपरिवर्तनीय सारणी संक्रियाएँ हैं।

const arr = [3, 1, 2];
const sorted = arr.toSorted(); // [1, 2, 3] — new array, arr unchanged
const reversed = arr.toReversed(); // [2, 1, 3]

5.2 के लिए tsconfig में using

using घोषणाओं का उपयोग करने के लिए अपने tsconfig में esnext.disposable लाइब्रेरी शामिल कीजिए।

{
  "compilerOptions": {
    "target": "ES2022",
    "lib": ["ES2022", "ESNext.Disposable"]
  }
}

पुनरावलोकन: TS 5.1–5.2

TS 5.1: स्वतंत्र सेटर/गेटर प्रकार और undefined JSX रिटर्न। TS 5.2: स्वचालित संसाधन सफ़ाई के लिए using घोषणाएँ, डेकोरेटर मेटाडेटा और अपरिवर्तनीय सारणी प्रतिलिपि विधियों के प्रकार।

त्वरित जाँच

TypeScript 5.2 में using घोषणा क्या करती है?

आपने क्या सीखा

TS 5.1 में स्वतंत्र गेटर/सेटर प्रकार और undefined JSX रिटर्न आए। TS 5.2 में स्वचालित संसाधन प्रबंधन के लिए using घोषणाएँ, डेकोरेटर मेटाडेटा और ES2023 की अपरिवर्तनीय सारणी विधियों के प्रकार शामिल हुए।

शुरुआत निःशुल्क

एआई शिक्षक के साथ TypeScript सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
101
पाठ
352

अक्सर पूछे जाने वाले प्रश्न

क्या “TypeScript 5.1-5.2: बेहतर प्रकार अनुमान” पाठ निःशुल्क है?

हाँ—“TypeScript 5.1-5.2: बेहतर प्रकार अनुमान” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और TypeScript Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। TypeScript Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“TypeScript 5.1-5.2: बेहतर प्रकार अनुमान” में मैं क्या सीखूँगा?

सेटर/गेटर प्रकारों की स्वतंत्रता और using घोषणाओं का अध्ययन करें आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ TypeScript Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या TypeScript Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर TypeScript Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“TypeScript 5.1-5.2: बेहतर प्रकार अनुमान” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस TypeScript Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर TypeScript Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. TypeScript 5.0: मानक डेकोरेटर और const प्रकार पैरामीटर
  2. TypeScript 5.1-5.2: बेहतर प्रकार अनुमान
  3. TypeScript 5.3-5.4: नया नैरोइंग और NoInfer
  4. TypeScript 5.5+: पृथक घोषणाएँ और आगे
← TypeScript Academy पर वापस जाएँ