- 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 टिप्पणियां
यह फ़ीचर असल में TypeScript का फ़ीचर नहीं है, बल्कि ECMAScript में प्रस्तावित फ़ीचर पर आधारित एक तरह का polyfill-जैसा एहसास देता है.
सुना है कि TC39 के प्रस्ताव के मुताबिक इसे JavaScript में भी लागू किया जाएगा.
मुझे C# करते समय
usingकाफ़ी सुविधाजनक लगा था, इसलिए इसका स्वागत है,लेकिन आख़िर में यह
try ... finallyजैसा ही तो है, ऐसी बातें भी कुछ लोग कर रहे हैं.