12 điểm bởi kuroneko 2023-06-20 | 1 bình luận | Chia sẻ qua WhatsApp
  • Trong TypeScript 5.2, đã bổ sung using, một từ khóa mới cho phép giải phóng đối tượng một cách tường minh khi ra khỏi phạm vi.
  • Đây là tính năng tương tự using đã tồn tại trong C# và một số ngôn ngữ khác.
    • Khi một hàm cụ thể trả về đối tượng, có thể gán hàm bằng ký hiệu Symbol.dispose.
    • Gọi hàm đó thông qua using.
    • Sau đó khi ra khỏi phạm vi, hàm Symbol.dispose sẽ được gọi.
  • Tính năng này dựa trên đề xuất quản lý tài nguyên tường minh của TC39, gần đây đã đạt đến giai đoạn 3.
  • Thông qua Symbol.asyncDispose, có thể gán hàm bất đồng bộ và dùng await using để xử lý đối tượng theo cách bất đồng bộ.
  • Có thể áp dụng trong nhiều tình huống như kết nối DB, file handler, v.v.

1 bình luận

 
kuroneko 2023-06-20

Tính năng này thực ra không phải là tính năng riêng của TypeScript, mà mang cảm giác như một kiểu polyfill dựa trên tính năng được đề xuất cho ECMAScript.
Nghe nói theo đề xuất của TC39 thì nó cũng sẽ được triển khai trong JavaScript.

Tôi nhớ hồi dùng C# thì using khá tiện nên cũng hoan nghênh,
nhưng cũng có người nói rốt cuộc nó chẳng phải cũng giống hệt try ... finally thôi sao.