- ใน 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นี่นา