12 คะแนน โดย kuroneko 2023-06-20 | 1 ความคิดเห็น | แชร์ทาง WhatsApp
  • ใน TypeScript 5.2 มีการเพิ่มคีย์เวิร์ดใหม่ using ที่ช่วยให้สามารถกำจัดอ็อบเจ็กต์ได้อย่างชัดเจนเมื่อออกจากขอบเขตการทำงาน
  • เป็นความสามารถที่คล้ายกับ using ที่มีอยู่แล้วใน C# และภาษาอื่น ๆ
    • เมื่อฟังก์ชันบางตัวคืนค่าอ็อบเจ็กต์ สามารถกำหนดฟังก์ชันด้วยสัญลักษณ์ Symbol.dispose ได้
    • ใช้ using เพื่อเรียกฟังก์ชันนั้น
    • หลังจากนั้นเมื่อออกจากขอบเขตการทำงาน ฟังก์ชัน Symbol.dispose จะถูกเรียก
  • อ้างอิงจาก ข้อเสนอการจัดการทรัพยากรแบบชัดเจนของ TC39 ซึ่งเพิ่งไปถึงขั้นที่ 3 เมื่อไม่นานมานี้
  • สามารถกำหนดฟังก์ชันแบบอะซิงโครนัสผ่าน Symbol.asyncDispose และจัดการอ็อบเจ็กต์แบบอะซิงโครนัสด้วย await using ได้
  • นำไปใช้ได้ในหลายสถานการณ์ เช่น การเชื่อมต่อฐานข้อมูล ตัวจัดการไฟล์ เป็นต้น

1 ความคิดเห็น

 
kuroneko 2023-06-20

ฟีเจอร์นี้จริง ๆ แล้วไม่ใช่ฟีเจอร์ของ TypeScript โดยตรง แต่ให้ความรู้สึกเหมือนโพลีฟิลชนิดหนึ่งที่อิงจากฟีเจอร์ที่ถูกเสนอใน ECMAScript
ได้ยินมาว่ามีแผนจะนำไปใช้ใน JavaScript ด้วยตามข้อเสนอของ TC39

ตอนผมเขียน C# ผมจำได้ว่า using สะดวกพอสมควร เลยถือว่าเป็นเรื่องน่ายินดี
แต่ก็มีคนพูดกันอยู่เหมือนกันว่าสุดท้ายแล้วมันก็ไม่ต่างจาก try ... finally นี่นา