Ngôn ngữ lập trình JavaScript hay hơn với TypeScript

Ngoc Huynh

TypeScript giúp bạn viết JavaScript hay hơn, chinh phục các dự án JavaScript lớn, và chuẩn bị cho ECMAScript 6.

Mặc dù JavaScript là một ngôn ngữ lập trình phổ biến hiện nay, nhưng nó chưa hoàn hảo, đặc biệt là khi bạn xây dựng một ứng dụng web ở quy mô lớn kể cả nhiều client code. Đó là nơi TypeScript đến. TypeScript là một tập cha của JavaScript, có thêm các tính năng dành cho ECMAScript 6 sắp tới, và nó có thể được chuyển đổi sang JavaScript để sử dụng ở các trình duyệt hiện tại — và trên Node.js.

TypeScript được thiết kế bởi một nhóm tại Micorsoft do Anders Hjelsberg làm trưởng nhóm (ông được biết đến qua các dự án như Turbo Pascal, Delphi, và C#). Nhóm Microsoft đã thiết kế TypeScript để sử dụng một trình biên dịch đã được viết trong JavaScript. Bạn viết code trong TypeScript thông qua trình biên dịch. Kết quả là JavaScript hoặc chạy trên server side hoặc có thể chạy trên client side từ HTML của bạn.

TypeScript thêm nhiều tính năng của ECMAScript 6 vào JavaScript, bao gồm các class và modun, và nhóm có ý định mang hai ngôn ngữ này đến gần với nhau hơn. Đó là một cách tiếp cận đúng đắn. Bạn có thể sử dụng TypeScript để việc lập trình của bạn phù hợp với ECMAScript 6, trong khi tận dụng các lợi thế của sự không thay đổi của TypeScript để tạo ra code an toàn hơn.

Nếu bạn đã sử dụng các ngôn ngữ như C hoặc Fortran, thì bạn sẽ quen với kiểu ngôn ngữ tĩnh, cho phép bạn biểu thị một số kiểu biến để đảm bảo rằng A luôn luôn là một số nguyên và C luôn luôn là một chuỗi. Trong khi tính an toàn của TypeScript thì không toàn diện như đã nói, nhưng khả năng xác định số, chuỗi của Fortran và Boolean có thể giúp hiệu chỉnh lỗi code đáng kể. Ngoài ra cũng có lựa chọn để cho TypeScript suy ra các kiểu biến, giảm bớt nguy cơ mắc lỗi khi bạn ấn định một biến đối tượng vào một chuỗi mà không cần có một sự chuyển đổi thích hợp. Nếu code của bạn thêm hai con số cùng lúc, thì TypeScript sẽ luôn giả định kết quả là một con số.

Bạn cũng có thể sử dụng TypeScript để áp dụng kiểu biến vào các array, hoặc sử dụng enums để thiết lập các giá trị cho tên biến cụ thể. Enums là một công cụ hữu ích, bạn có thể sử dụng chúng để tìm kiếm tên biến theo số – tạo cho bạn một cách đơn giản để xây dựng một bản ghi giá trị trong lập trình của bạn. Nếu bạn không chắc chắn về kiểu biến mà bạn có thể được sử dụng, thì bạn có thể thiết lập một biến bất kỳ, trong trường hợp TypeScript sẽ không suy ra các kiểu biến và bạn sẽ không kích hoạt lỗi hoặc cảnh báo. Các kiểu biến của TypeScript là tùy chọn, do đó bạn không cần phải xem xét tỉ mỉ các kiểu biến thêm vào lập trình hiện có của bạn trước khi nó được biên dịch. Mà đơn giản chỉ là chuyển đổi code hiện có. Bạn có thể bắt đầu với JavaScript thuần túy và thêm các kiểu biến như bạn thêm các tính năng khác của TypeScript.

Lưu ý rằng lập trình JavaScript hiện tại của bạn sẽ chạy như là một phần của một ứng dụng TypeScript. Bạn sẽ tận dụng lợi thế của các tính năng của TypeScript nếu bạn chuyển đổi code của bạn sang ECMAScript 6 hoặc sang cú pháp của TypeScript. Nếu bạn đang sử dụng công cụ di chuyển của TypeScript, thì bạn cũng sẽ nhận được hỗ trợ IntelliSense của Visual Studio, sẽ giúp quản lý các kiểu biến trong lời gọi hàm (function call). Ngoài ra, bạn có thể sử dụng tập tin khai báo của TypeScript để nhanh chóng thêm các kiểu hỗ trợ cho các thư viện và dịch vụ phổ biến, chẳng hạn như các thư viện phổ biến JQuery.

Xác định các kiểu biến trong function call là chìa khóa để tạo ra cấu trúc của một giao diện, giúp tạo ra lập trình theo hướng đối tượng. Đặc biệt bạn có thể xác định các phần tử hàm như giao diện, cho bạn tùy chọn có nhiều tên mô tả hơn trong một hàm, trong khi vẫn thông báo cho các công cụ như IntelliSense về các yêu cầu của hàm khi kiểm tra một lời gọi hàm.

Xác định các kiểu biến và các giao diện theo cách này làm cho việc quản lý các dự án JavaScript lớn với nhiều nhà phát triển dễ dàng hơn. Đây là một phương pháp cho phép bạn sử dụng hiệu quả hơn các công cụ như Git và GitHub để quản lý nhiều nhánh code trong một mô hình phát triển liên tục.

Nếu bạn đang sử dụng Java hoặc C #, thì việc thực hiện TypeScript (và ECMAScript 6) về các class sẽ trông rất quen thuộc. Bạn sẽ tạo ra các class với các nhà xây dựng mà xác định các kiểu biến được sử dụng trong một phương pháp, và sử dụng sự quen thuộc này để xử lý các đối tượng bên trong. Bạn có thể mở rộng các class đang sử dụng sự kế thừa này, bổ sung thêm các tính năng và ghi đè phương thức (Overriding Method). Có lẽ thú vị nhất là việc hỗ trợ các kiểu generic, mà có thể được sử dụng cho cả các hàm và giao diện – và giúp bạn cung cấp các hàm tái sử dụng.

Một khi bạn đã hiểu rõ cách TypeScript xử lý các class và hàm, thì bạn có thể bắt đầu nhóm chúng lại trong các mô-đun, mà tự chúng có thể được chia thành nhiều tệp tin. Đó là một cách tiếp cận thuận tiện để tổ chức code của bạn – ví dụ, bằng cách sử dụng các tập tin riêng biệt để xử lý các hàm khác nhau của một shopping cart. Sau đó, bạn có thể cập nhật các môđun con riêng. Các thư viện của JavaScript với các tập tin khai báo có thể được sử dụng như là mô-đun, vì vậy bạn có thể tận dụng chúng trong các ứng dụng TypeScript.

Nếu bạn muốn làm việc với TypeScript, bạn sẽ tìm thấy sự hỗ trợ trong phiên bản hiện tại của Visual Studio và trong công cụ chỉnh sửa đa nền tảng mới của Visual Studio Code. Ngoài ra còn có sân chơi lập trình trực tuyến trên trang web của TypeScript, đây là nơi bạn có thể thử những ý tưởng lập trình hoặc làm việc thông qua các hướng dẫn trực tuyến.

Với JavaScript được sử dụng trong các dự án có quy mô lớn hơn, thì đây là cơ hội tốt để chúng ta bắt đầu với TypeScript. TypeScript có thể giúp bạn có được lập trình theo sự kiểm soát và khuyến khích tái sử dụng, cũng như đưa bạn vào một con đường dẫn tới ECMAScript 6.

Chia sẻ bài viết ngay

Nguồn bài viết : http://www.infoworld.com/