TypeScript là gì?
TypeScript là một phiên bản nâng cao của JavaScript, được thiết kế để xây dựng các ứng dụng lớn và phức tạp. Ngôn ngữ này kế thừa nhiều khái niệm từ Java và C#, và là ngôn ngữ tĩnh (static typed) có nghĩa là nó nghiêm ngặt và có trật tự trái ngược với loại không yêu cầu kiểu dữ liệu cụ thể. Ngoài ra, TypeScript còn bổ sung thêm lớp hướng đối tượng mà không có trong JavaScript.
Tại sao TypeScript được gọi là bản cao cấp hơn JavaScript?
Với TypeScript, chúng ta có thể chèn mã JavaScript nguyên gốc vào cùng một tệp và chạy chúng mà không gặp vấn đề, bởi vì TypeScript duy trì cú pháp của JavaScript và mở rộng nó bằng một loạt tính năng mới. Điều này cải thiện hiệu suất làm việc đáng kể.
TypeScript là một dự án kéo dài hơn 3 năm của Microsoft, nhằm mở rộng JavaScript để phù hợp với các ứng dụng lớn, nhưng vẫn giữ nguyên cấu trúc ngôn ngữ JavaScript hiện tại để người dùng có thể học nhanh hơn. Trưởng nhóm dự án này là Anders Hejlsberg, cha đẻ của C#, Turbo Pascal và Delphi.
Lợi ích của việc sử dụng TypeScript
Nếu bạn quan tâm đến lợi ích của TypeScript, hãy xem qua danh sách tính năng của nó và nhận ra rằng có một cộng đồng phát triển lớn đứng sau nó. Đây là điều khiến bạn tự hỏi liệu TypeScript có thực sự hữu ích hay không. Nhưng nhớ rằng một lập trình viên thông minh luôn lựa chọn sự tiến bộ. Đừng lo, tôi cũng đã trải qua điều này và tin rằng TypeScript cũng có tiềm năng và đáng để chúng ta trải nghiệm.
Ưu điểm của TypeScript:
- Dễ dàng phát triển các dự án lớn, được hỗ trợ bởi các Framework JavaScript phổ biến.
- Hỗ trợ đầy đủ các tính năng hướng đối tượng như kế thừa, đóng gói, constructor, abstract, interface, implement, override…
- Tổ chức mã nguồn rõ ràng hơn, hỗ trợ cơ chế giúp xây dựng các hệ thống lớn dễ dàng hơn.
- Hỗ trợ các tính năng mới nhất của JavaScript.
- Mã nguồn mở và miễn phí, có cộng đồng hỗ trợ lớn.
- Dễ dự đoán và dễ debug với việc sử dụng kiểu dữ liệu tĩnh.
TypeScript được sử dụng rộng rãi trong các Framework như Angular, Node.js, Ionic…
Kiểu động và kiểu tĩnh
JavaScript là ngôn ngữ kiểu động (dynamic type), trong khi TypeScript là ngôn ngữ kiểu tĩnh (static type). Mỗi trường phái có ưu và nhược điểm riêng, phù thuộc vào mục đích của người dùng.
Kiểu tĩnh có những điểm mạnh riêng, giúp giảm thiểu thời gian xử lí và cải thiện quá trình viết mã hiệu quả hơn so với kiểu động.
Khi làm việc với biến, chúng ta sẽ nói đến kiểu dữ liệu. Khái niệm kiểu động và kiểu tĩnh có vẻ phức tạp nhưng sự thực rất đơn giản. Biến kiểu động là biến có thể chứa bất kỳ kiểu dữ liệu nào mà không bị giới hạn bởi một kiểu cụ thể.
Ví dụ:
var a = 1;
a = "TopDev";
Trong ví dụ trên, biến a
ban đầu chứa giá trị số 1, nhưng sau đó lại gán giá trị là chuỗi “TopDev”. Nếu chạy mã này trong TypeScript, sẽ xảy ra lỗi “Cannot convert ‘string’ to ‘number'”. Vì TypeScript là ngôn ngữ kiểu tĩnh, biến khi đã xác định kiểu thì chỉ có thể chứa giá trị có kiểu tương ứng.
Khai báo biến trong TypeScript:
var name: string = "TopDev";
Trong khai báo trên, chúng ta đã xác định rõ kiểu của biến name
là chuỗi (string), và sau này không thể gán giá trị số vào biến này.
Dù có thể cảm thấy hạn chế ban đầu khi chuyển từ ngôn ngữ kiểu động sang kiểu tĩnh, nhưng sự khắt khe của kiểu tĩnh cũng mang lại lợi ích. Khi một biến được khai báo kiểu rõ ràng, chúng ta luôn biết kiểu của giá trị mà biến đó chứa mà không cần phải kiểm tra.
Khi mà một biến có thể chứa nhiều kiểu giá trị khác nhau, dù mang lại sự linh hoạt, nhưng nó cũng làm cho việc bảo trì trở nên phức tạp hơn, đặc biệt là khi debug để tìm lỗi liên quan tới kiểu dữ liệu.
Một điểm khác biệt trong TypeScript đó là lỗi về kiểu sẽ được phát hiện trong quá trình viết mã hoặc biên dịch sang JavaScript nhờ sự trợ giúp của Visual Studio Code. Trong khi đó, trong JavaScript, ta phải đợi đến lúc chạy mã mới biết lỗi, và có khi thì chẳng bao giờ biết.
Các Text Editor hỗ trợ TypeScript
Hiện nay, rất nhiều trình soạn thảo mã và IDE hỗ trợ cú pháp của TypeScript, gợi ý tự động hoàn chỉnh, phát hiện lỗi và thậm chí tích hợp sẵn trình biên dịch.
Dưới đây là một số trình soạn thảo hỗ trợ TypeScript:
- Visual Studio Code: Một trình soạn thảo mã nguồn mở của Microsoft, hỗ trợ TypeScript sẵn có.
- Sublime Text (qua plugin).
- WebStorm (phiên bản mới nhất cũng hỗ trợ TypeScript).
- Vim, Atom, Emacs…
Tip: Khi sử dụng Visual Studio Code, bạn có thể tách khung soạn thảo mã thành hai phần. Một phần để viết mã TypeScript, trong khi phần còn lại hiển thị mã JavaScript được biên dịch tự động. Với tính năng này, bạn có thể viết mã TypeScript và xem mã JavaScript được tạo ra khi nhấn Lưu.
Cài đặt TypeScript
Để cài đặt TypeScript, chúng ta sử dụng npm. Sử dụng lệnh sau để cài đặt gói TypeScript toàn cầu, để trình biên dịch TypeScript có thể sử dụng trong mọi dự án:
npm install -g typescript
Kiểm tra việc cài đặt bằng lệnh:
tsc -v
Lời kết
TypeScript vẫn đang được phát triển, và nếu bạn đọc bài viết này, có lẽ bạn là một lập trình viên JavaScript. Tuy nhiên, nếu bạn chưa làm quen với JavaScript ES6, tôi khuyên bạn nên tìm hiểu nó trước khi bắt đầu học TypeScript. Để biết thêm thông tin về TypeScript và cập nhật các tính năng mới, hãy truy cập website của TypeScript.
Tìm kiếm việc làm TypeScript lương cao tại HEFC.