12 पॉइंट द्वारा kuroneko 2023-06-20 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • TypeScript 5.2 में using नाम का नया keyword जोड़ा गया है, जिससे scope से बाहर जाते समय object को स्पष्ट रूप से dispose किया जा सकता है.
  • यह C# आदि में पहले से मौजूद using जैसी ही functionality है.
    • जब कोई specific function किसी object को return करता है, तो Symbol.dispose symbol का उपयोग करके function assign किया जाता है.
    • using के जरिए उस function को call किया जाता है.
    • इसके बाद scope से बाहर निकलने पर Symbol.dispose function call होता है.
  • यह हाल ही में Stage 3 तक पहुँचे TC39 के Explicit Resource Management proposal पर आधारित है.
  • Symbol.asyncDispose के जरिए asynchronous function assign किया जा सकता है, और await using का उपयोग करके object को asynchronous तरीके से handle किया जा सकता है.
  • DB connection, file handler आदि जैसी कई स्थितियों में इसका उपयोग संभव है.

1 टिप्पणियां

 
kuroneko 2023-06-20

यह फ़ीचर असल में TypeScript का फ़ीचर नहीं है, बल्कि ECMAScript में प्रस्तावित फ़ीचर पर आधारित एक तरह का polyfill-जैसा एहसास देता है.
सुना है कि TC39 के प्रस्ताव के मुताबिक इसे JavaScript में भी लागू किया जाएगा.

मुझे C# करते समय using काफ़ी सुविधाजनक लगा था, इसलिए इसका स्वागत है,
लेकिन आख़िर में यह try ... finally जैसा ही तो है, ऐसी बातें भी कुछ लोग कर रहे हैं.