Bài 01: TypeScript là gì? TypeScript và Javascript
Nếu bạn đã từng muốn học Angular2 thì người ta sẽ khuyên bạn là nên học TypeScript trước, điều này hoàn toàn hợp lý bởi Angular2 cho phép bạn nhiều sự lựa chọn thư viện để phát triển, bạn có thể chọn Javascipt thuần hoặc chọn TypeScript đều được.
Trước khi bạn học TypeScript thì mình khuyên bạn nên tìm hiểu qua ECMAScript 2015 ES6 bởi TypeScript sử dụng các kỹ thuật nâng cao mà chỉ có ở ES6. Ok bây giờ ta bắt đầu tim hiểu khái niệm TypeScript là gì?.
1. TypeScript là gì?
TypeScript là một dự án mã nguồn mở được phát triển bởi Microsoft, nó có thể được coi là một phiên bản nâng cao của Javascript bởi việc bổ sung tùy chọn kiểu tĩnh và lớp hướng đối tượng mà điều này không có ở Javascript. TypeScript có thể sử dụng để phát triển các ứng dụng chạy ở client-side (Angular2) và server-side (NodeJS).
TypeScript sử dụng tất cả các tính năng của của ECMAScript 2015 (ES6) như classes, modules. Không dừng lại ở đó nếu như ECMAScript 2017 ra đời thì mình tin chắc rằng TypeScript cũng sẽ nâng cấp phiên bản của mình lên để sử dụng mọi kỹ thuật mới nhất từ ECMAScript. Thực ra TypeScript không phải ra đời đầu tiên mà trước đây cũng có một số thư viện như CoffeScript và Dart được phát triển bởi Google, tuy nhiên điểm yếu là hai thư viện này sư dụng cú pháp mới hoàn toàn, điều này khác hoàn toàn với TypeScript, vì vậy tuy ra đời sau nhưng TypeScript vẫn đang nhận được sự đón nhận từ các lập trình viên.
Bài viết này được đăng tại [free tuts .net]
2. Tại sao nên sử dụng TypeScript
Để hiểu tại sao nên sử dụng TypeScript thì có lẽ chúng ta nên tìm hiểu sơ lược về các ưu điểm mà TypeScritpt mang lại.
Dễ phát triển dự án lớn: Với việc sử dụng các kỹ thuật mới nhất và lập trình hướng đối tượng nên TypeScript giúp chúng ta phát triển các dự án lớn một cách dễ dàng.
Nhiều Framework lựa chọn: Hiện nay các Javascript Framework đã dần khuyến khích nên sử dụng TypeScript để phát triển, ví dụ như AngularJS 2.0 và Ionic 2.0.
Hô trợ các tính năng của Javascript phiên bản mới nhất: TypeScript luôn đảm bảo việc sử dụng đầy đủ các kỹ thuật mới nhất của Javascript, ví dụ như version hiện tại là ECMAScript 2015 (ES6).
Là mã nguồn mở: TypeScript là một mã nguồn mở nên bạn hoàn toàn có thể sử dụng mà không mất phí, bên cạnh đó còn được cộng đồng hỗ trợ.
TypeScript là Javscript: Bản chất của TypeScript là biên dịch tạo ra các đoạn mã javascript nên ban có thê chạy bất kì ở đâu miễn ở đó có hỗ trợ biên dịch Javascript. Ngoài ra bạn có thể sử dụng trộn lẫn cú pháp của Javascript vào bên trong TypeScript, điều này giúp các lập trình viên tiếp cận TypeScript dễ dàng hơn.
Như vậy theo cá nhân mình thấy bản chất của TypeScript là một trình biên dịch xuất ra mã Javascript dựa vào cấu trúc riêng của nó. Trong CSS cũng có một thư viện tương tự đó là SASS và LESS.
3. TypeScript và Javascript
Như vậy ta có thể coi TypeScript là cha của Javascript bởi kết quả sau khi biên dịch TypeScript là xuất ra các đoạn mã Javascript, để các bạn hiêu rõ hơn mình sẽ lấy một ví dụ như sau:
Code TypeScript
class Customer { Name : string; constructor (firstName: string, lastName: string) { this.Name = firstName + " " + lastName; } GetName() { return "Hello, " + this.Name; } }
Biên dịch thành Javascript
var Customer = (function () { function Customer(firstName, lastName) { this.Name = firstName + " " + lastName; } Customer.prototype.GetName = function () { return "Hello, " + this.Name; }; return Customer; }());
Với hai đoạn code trên thì rõ ràng nhìn vào mã của TypeScript rất là trong sáng và mạch lạc. Có một lưu ý mình muốn nói lại đó là bạn có thể sử dụng cú pháp của Javascript khi code TypeScript.
4. Lời kết
Như vậy để học được các Framework mới như AngularJS 2 thì chúng ta phải biết cách sử dụng TypeScript trước bởi trong Angular2 người ta khuyên nên sử dụng TypeScript để lập trình nhằm giúp code mạch lạc hơn.
Qua bài này mình chỉ muốn giới thiệu khái niệm TypeScript là gì và mối liên hệ giữa TypeScript và Javascript, hy vọng bài này sẽ giúp ích cho các bạn. Chúc các bạn học tốt.