Microsoft, Igalia và Bloomberg đề xuất bao gồm cú pháp cho định nghĩa trong JS 

Microsoft, Igalia và Bloomberg Họ đã thông báo một vài ngày trước rằng đã chủ động đưa vào một cú pháp cho định nghĩa kiểu rõ ràng trong đặc tả JavaScript, tương tự như cú pháp được sử dụng trong ngôn ngữ TypeScript.

Hiện tại, các thay đổi nguyên mẫu được đề xuất để đưa vào tiêu chuẩn ECMAScript đã được đệ trình để thảo luận sơ bộ (Giai đoạn 0).

Hôm nay, chúng tôi vui mừng thông báo về sự hỗ trợ và cộng tác của chúng tôi đối với một đề xuất Giai đoạn 0 mới nhằm mang lại cú pháp loại tùy chọn và có thể xóa được cho JavaScript. Bởi vì cú pháp mới này sẽ không thay đổi cách mã xung quanh được thực thi, chúng sẽ hoạt động giống như các bình luận một cách hiệu quả. Chúng tôi nghĩ rằng điều này có tiềm năng làm cho TypeScript được sử dụng dễ dàng hơn và nhanh hơn để phát triển ở mọi quy mô. Chúng tôi muốn nói về lý do tại sao chúng tôi theo đuổi điều này và cách đề xuất này hoạt động ở cấp độ cao.

Người ta đề cập rằng tại tCó thông tin loại rõ ràng sẽ tránh được nhiều lỗi trong quá trình phát triển, nó sẽ mang lại cơ hội sử dụng các kỹ thuật tối ưu hóa bổ sung, đơn giản hóa việc gỡ lỗi và làm cho mã dễ đọc hơn và dễ dàng hơn cho các nhà phát triển bên thứ ba sửa đổi và bảo trì.

bên cạnh đó nó được đề xuất để triển khai hỗ trợ kiểu như một chức năng tùy chọn: Các công cụ JavaScript và thời gian chạy không hỗ trợ kiểm tra kiểu sẽ bỏ qua các chú thích với thông tin về kiểu và xử lý mã như trước đây, coi dữ liệu kiểu là nhận xét. Nhưng các công cụ kiểm tra loại sẽ có thể, dựa trên thông tin có sẵn, để phát hiện các lỗi liên quan đến việc sử dụng sai loại.

Bối cảnh
Một xu hướng gần đây mà nhóm của chúng tôi đã thấy trong thế giới JavaScript là nhu cầu về thời gian lặp lại nhanh hơn và giảm các bước xây dựng. Nói cách khác, “làm cho nó nhanh hơn và đơn giản hơn”.

Theo một cách nào đó, điều này đã xảy ra. Nhờ sự thành công của các trình duyệt thường xanh, các nhà phát triển thường có thể tránh việc biên dịch các phiên bản JavaScript mới hơn để chạy trên các thời gian chạy cũ hơn. Ở một mức độ nào đó, việc đóng gói cũng tương tự như vậy: hầu hết các trình duyệt đều có hỗ trợ tích hợp để sử dụng các mô-đun, vì vậy việc đóng gói có thể được coi là một bước tối ưu hóa hơn là một điều cần thiết. Điều này ngày càng xảy ra, vậy làm cách nào để TypeScript tiếp tục?

Đồng thời không giống như thông tin loại được chỉ định thông qua các chú thích JSDoc được chỉ định dưới dạng nhận xét, đặc điểm kỹ thuật trực tiếp của các loại trực tiếp trong cấu trúc định nghĩa biến nó sẽ làm cho mã trực quan hơn, dễ hiểu và dễ chỉnh sửa hơn.

Ví dụ: IDE hỗ trợ TypeScript sẽ có thể đánh dấu ngay các lỗi trong mã JavaScript đã viết mà không cần chuyển đổi bổ sung. Ngoài ra, hỗ trợ kiểu tích hợp sẽ giúp bạn có thể chạy các chương trình được viết bằng phương ngữ JavaScript được viết mã như TypeScript và Flow mà không cần chuyển từ ngôn ngữ này sang ngôn ngữ khác.

Trong số các kiểu, người ta đề xuất thêm "string", "number" và "boolean", có thể được sử dụng khi xác định biến, tham số hàm, phần tử đối tượng, trường lớp, mảng đã nhập ("number []"). Nó cũng được đề xuất để cung cấp hỗ trợ cho các loại hỗn hợp ("chuỗi | số") và thuốc chung.

Với tất cả những điều này, chúng tôi dự định sẽ trình bày đề xuất này cho Giai đoạn 1 tại cuộc họp toàn thể vào tháng 2022 năm 39 tới của TCXNUMX. Chúng tôi sẽ làm như vậy với sự hỗ trợ và hướng dẫn của những người đồng đề xuất đề xuất này, Rob Palmer tại Bloomberg và Romulo Cintra tại Igalia.

Tiếp cận Giai đoạn 1 có nghĩa là ủy ban tiêu chuẩn tin rằng cú pháp loại tương thích cho ECMAScript đáng được xem xét. Đây không phải là điều chắc chắn: có nhiều quan điểm có giá trị trong ủy ban, và chúng tôi mong đợi một lượng hoài nghi nhất định. Một đề xuất như thế này sẽ nhận được rất nhiều bình luận và xem xét kỹ lưỡng. Nó có thể liên quan đến rất nhiều thay đổi thiết kế trong quá trình thực hiện và có thể mất nhiều năm để có được kết quả.

tại cuộc họp tiếp theo của tháng ba của ủy ban TC39, dự kiến ​​chuyển sang giai đoạn đầu xem xét đề xuất có sự tham gia của cộng đồng chuyên gia ECMA.

Cuối cùng Nếu bạn muốn biết thêm về nó, bạn có thể kiểm tra các chi tiết trong liên kết theo dõi.


Để lại bình luận của bạn

địa chỉ email của bạn sẽ không được công bố. Các trường bắt buộc được đánh dấu bằng *

*

*

  1. Chịu trách nhiệm về dữ liệu: Miguel Ángel Gatón
  2. Mục đích của dữ liệu: Kiểm soát SPAM, quản lý bình luận.
  3. Hợp pháp: Sự đồng ý của bạn
  4. Truyền thông dữ liệu: Dữ liệu sẽ không được thông báo cho các bên thứ ba trừ khi có nghĩa vụ pháp lý.
  5. Lưu trữ dữ liệu: Cơ sở dữ liệu do Occentus Networks (EU) lưu trữ
  6. Quyền: Bất cứ lúc nào bạn có thể giới hạn, khôi phục và xóa thông tin của mình.