คีย์เวิร์ดใหม่ใน TypeScript 5.2 - `using`
(totaltypescript.com)- ใน TypeScript 5.2 มีการเพิ่มคีย์เวิร์ดใหม่
usingที่ช่วยให้สามารถกำจัดอ็อบเจ็กต์ได้อย่างชัดเจนเมื่อออกจากขอบเขตการทำงาน - เป็นความสามารถที่คล้ายกับ
usingที่มีอยู่แล้วใน C# และภาษาอื่น ๆ- เมื่อฟังก์ชันบางตัวคืนค่าอ็อบเจ็กต์ สามารถกำหนดฟังก์ชันด้วยสัญลักษณ์
Symbol.disposeได้ - ใช้
usingเพื่อเรียกฟังก์ชันนั้น - หลังจากนั้นเมื่อออกจากขอบเขตการทำงาน ฟังก์ชัน
Symbol.disposeจะถูกเรียก
- เมื่อฟังก์ชันบางตัวคืนค่าอ็อบเจ็กต์ สามารถกำหนดฟังก์ชันด้วยสัญลักษณ์
- อ้างอิงจาก ข้อเสนอการจัดการทรัพยากรแบบชัดเจนของ TC39 ซึ่งเพิ่งไปถึงขั้นที่ 3 เมื่อไม่นานมานี้
- สามารถกำหนดฟังก์ชันแบบอะซิงโครนัสผ่าน
Symbol.asyncDisposeและจัดการอ็อบเจ็กต์แบบอะซิงโครนัสด้วยawait usingได้ - นำไปใช้ได้ในหลายสถานการณ์ เช่น การเชื่อมต่อฐานข้อมูล ตัวจัดการไฟล์ เป็นต้น
1 ความคิดเห็น
ฟีเจอร์นี้จริง ๆ แล้วไม่ใช่ฟีเจอร์ของ TypeScript โดยตรง แต่ให้ความรู้สึกเหมือนโพลีฟิลชนิดหนึ่งที่อิงจากฟีเจอร์ที่ถูกเสนอใน ECMAScript
ได้ยินมาว่ามีแผนจะนำไปใช้ใน JavaScript ด้วยตามข้อเสนอของ TC39
ตอนผมเขียน C# ผมจำได้ว่า
usingสะดวกพอสมควร เลยถือว่าเป็นเรื่องน่ายินดีแต่ก็มีคนพูดกันอยู่เหมือนกันว่าสุดท้ายแล้วมันก็ไม่ต่างจาก
try ... finallyนี่นา