TypeScript

TypeScript là một ngôn ngữ lập trình được phát triển và duy trì bởi Microsoft. Nó là một tập hợp siêu cú pháp nghiêm ngặt của JavaScript và thêm tính năng kiểu tĩnh tùy chọn vào ngôn ngữ. TypeScript được thiết kế để phát triển các ứng dụng lớn và chuyển đổi sang JavaScript. Vì TypeScript là một siêu tập hợp JavaScript, các chương trình JavaScript hiện có cũng là các chương trình TypeScript hợp lệ.
TypeScript có thể được sử dụng để phát triển các ứng dụng JavaScript cho cả thực thi phía máy khách và phía máy chủ (như với Node.js hoặc Deno). Có nhiều tùy chọn có sẵn để biên dịch. Có thể sử dụng Trình kiểm tra TypeScript mặc định, hoặc có thể sử dụng trình biên dịch Babel để chuyển đổi TypeScript sang JavaScript.
TypeScript hỗ trợ các tệp định nghĩa có thể chứa thông tin kiểu của các thư viện JavaScript hiện có, giống như tệp tiêu đề C ++ có thể mô tả cấu trúc của tệp đối tượng hiện có. Điều này cho phép các chương trình khác sử dụng các giá trị được xác định trong tệp như thể chúng là các thực thể TypeScript được nhập tĩnh. Có các tệp tiêu đề của bên thứ ba cho các thư viện phổ biến như jQuery, MongoDB và D3.js. Tiêu đề TypeScript cho các mô-đun cơ bản của Node.js cũng có sẵn, cho phép phát triển các chương trình Node.js trong TypeScript.
Bản thân trình biên dịch TypeScript được viết bằng TypeScript và được biên dịch sang JavaScript. Nó được cấp phép theo Giấy phép Apache 2.0. TypeScript được bao gồm như một ngôn ngữ lập trình hạng nhất trong Microsoft Visual Studio 2013 Update 2 trở lên, bên cạnh C # và các ngôn ngữ Microsoft khác. Một phần mở rộng chính thức cho phép Visual Studio 2012 cũng hỗ trợ TypeScript. Anders Hejlsberg, kiến trúc sư chính của C # và người tạo ra Delphi và Turbo Pascal, đã nghiên cứu sự phát triển của TypeScript.
Lịch sử.
TypeScript được công bố lần đầu tiên vào tháng 10 năm 2012 (ở phiên bản 0.8), sau hai năm phát triển nội bộ tại Microsoft. Ngay sau khi thông báo, Miguel de Icaza đã ca ngợi bản thân ngôn ngữ này, nhưng chỉ trích việc thiếu hỗ trợ IDE trưởng thành ngoài Microsoft Visual Studio, vốn chưa có trên Linux và OS X vào thời điểm đó. Ngày nay, có hỗ trợ trong các IDE khác, đặc biệt là trong Eclipse, thông qua một trình cắm thêm do Palantir Technologies đóng góp. Các trình soạn thảo văn bản khác nhau, bao gồm Emacs, Vim, Webstorm, Atom và Visual Studio Code của riêng Microsoft cũng hỗ trợ TypeScript.
TypeScript 0.9, được phát hành vào năm 2013, đã thêm hỗ trợ cho generic. TypeScript 1.0 được phát hành tại hội nghị nhà phát triển Build của Microsoft vào năm 2014. Visual Studio 2013 Update 2 cung cấp hỗ trợ tích hợp cho TypeScript.
Vào tháng 7 năm 2014, nhóm phát triển đã công bố một trình biên dịch TypeScript mới, đạt hiệu suất gấp 5 lần. Đồng thời, mã nguồn, ban đầu được lưu trữ trên CodePlex, đã được chuyển sang GitHub.
Vào ngày 22 tháng 9 năm 2016, TypeScript 2.0 đã được phát hành; nó đã giới thiệu một số tính năng, bao gồm khả năng cho các lập trình viên tùy ý ngăn các biến được gán giá trị , đôi khi được gọi là sai lầm hàng tỷ đô la.
TypeScript 3.0 được phát hành vào ngày 30 tháng 7 năm 2018, mang đến nhiều bổ sung ngôn ngữ như bộ giá trị trong tham số phần còn lại và biểu thức trải rộng, tham số phần còn lại với các loại tuple, tham số rest chung, v.v.
TypeScript 4.0 được phát hành vào ngày 20 tháng 8 năm 2020. Mặc dù 4.0 không giới thiệu bất kỳ thay đổi đột phá nào, nhưng nó đã bổ sung các tính năng ngôn ngữ như Hệ thống JSX tùy chỉnh và kiểu Tuple Đa dạng.
Thiết kế.
TypeScript bắt nguồn từ những thiếu sót của JavaScript đối với việc phát triển các ứng dụng quy mô lớn ở cả Microsoft và các khách hàng bên ngoài của công ty này. Những thách thức đối với việc xử lý mã JavaScript phức tạp đã dẫn đến nhu cầu về công cụ tùy chỉnh để dễ dàng phát triển các thành phần trong ngôn ngữ này.
Các nhà phát triển TypeScript đã tìm kiếm một giải pháp không phá vỡ khả năng tương thích với tiêu chuẩn và hỗ trợ đa nền tảng của nó. Biết rằng đề xuất tiêu chuẩn ECMAScript hiện tại hứa hẹn hỗ trợ trong tương lai cho lập trình dựa trên lớp, TypeScript đã dựa trên đề xuất đó. Điều đó dẫn đến một trình biên dịch JavaScript với một tập hợp các phần mở rộng ngôn ngữ cú pháp, một tập hợp siêu dựa trên đề xuất, biến các phần mở rộng thành JavaScript thông thường. Theo nghĩa này, TypeScript là bản xem trước những gì mong đợi của ECMAScript 2015. Một khía cạnh duy nhất không có trong đề xuất, nhưng được thêm vào TypeScript, là tính năng nhập tĩnh tùy chọn cho phép phân tích ngôn ngữ tĩnh, tạo điều kiện hỗ trợ công cụ và IDE.
Hỗ trợ ECMAScript 2015.
TypeScript bổ sung hỗ trợ cho các tính năng như lớp, mô-đun và cú pháp hàm mũi tên như được định nghĩa trong tiêu chuẩn ECMAScript 2015.