Thứ hai, 14/01/2019 | 00:00 GMT+7

Lợi ích của việc sử dụng TypeScript


Tôi đã phát hiện ra TypeScript vài năm trước trong khi cố gắng hiểu Angular đã thay đổi như thế nào giữa các version chính. Như bạn đã biết, những thay đổi giữa version đầu tiên và version thứ hai của khuôn khổ này là rất lớn, vì vậy tôi muốn thử. Mọi thứ đều được viết bằng TypeScript nhưng giống như bạn, tôi không biết tại sao. Hãy xem những lợi ích của việc sử dụng tập hợp siêu JavaScript này là gì 🚀.

Đánh máy

Như các bạn đã biết, JavaScript không có loại , vì vậy rất khó để kiểm soát tất cả các tham số và biến mà ta đang sử dụng và xác thực chúng. Thực sự rất dễ mắc lỗi trên mã của bạn như quên khai báo một biến, gọi một hàm không tồn tại hoặc chuyển dưới dạng một tham số một biến sẽ phá vỡ tất cả mã của ta .

Vì vậy, ta có thể nói rằng TypeScript giống như JavaScript, nhưng với các kiểu . Nó giúp làm cho mã của ta dễ đọc hơn và tránh các lỗi có thể trở thành cơn ác mộng gỡ lỗi.

Hãy xem một ví dụ về cách mã thay đổi từ JavaScript sang TypeScript:

alligators-service.js
class AlligatorsService {   public alligators = [];    public addAlligator(alligator) {     if (this.isValid(alligator)) {       alligators.push(alligator);     }   }  
alligators-service.ts
class AlligatorsService {   public alligators: Alligator[] = [];    public addAlligator(alligator: Alligator): void {     if (this.isValid(alligator)) {       alligators.push(alligator);     }   }    private isValid(alligator: Alligator): boolean {     return alligator.name;   } } 

Ở đây, Alligator là một giao diện có thể được định nghĩa ở bất kỳ đâu và được nhập vào file của ta . Giao diện xác định hình dạng cho một đối tượng kiểu Alligator .

Như bạn thấy từ mã được đánh dấu, ta đã thêm mô tả về các tham số và các loại trả về. Nó cung cấp cho bạn nhiều ngữ cảnh hơn và khi trình biên dịch TypeScript biến đổi mã của bạn, nó sẽ thông báo cho bạn về các lỗi nếu sử dụng sai kiểu ở những nơi không đúng.

Hỗ trợ các tính năng JavaScript mới nhất

Một điều thú vị khác về TypeScript là ta có thể sử dụng các tính năng JavaScript cuối cùng trên mã của bạn . Không phải tất cả các trình duyệt hiện đại đều có thể hiểu mã của ta nếu ta sử dụng các tính năng cuối cùng và thông thường, ta cần sử dụng các công cụ bổ sung như Babel để làm cho nó khả thi. Tuy nhiên, nếu ta sử dụng TypeScript, trình biên dịch sẽ thực hiện tất cả các công việc khó khăn.

Vì TypeScript là một gói mà ta có thể cài đặt trong các dự án của bạn thông qua npm , nếu ta tiếp tục cập nhật version , ta sẽ tự động có sẵn tất cả những thứ mới.

Vì trình biên dịch đang chuyển đổi mã của bạn sang JavaScript, bạn có thể sử dụng TypeScript ở cả hai phía, client và server . 🔥

Hỗ trợ IDE

Hầu hết các IDE hiện đại sẽ giúp bạn trong khi viết mã. Vì TypeScript là một ngôn ngữ được đánh máy, IDE sẽ cung cấp cho bạn một số gợi ý về mã.

Gợi ý mã TypeScript với Atom.

Trong trường hợp của tôi, tôi sử dụng Atom và nó có một gói tuyệt vời cho TypeScript sẽ giúp bạn tiết kiệm rất nhiều thời gian.

Tính tương thích của trình duyệt web

Khả năng tương thích của trình duyệt là tính năng mà tôi yêu thích nhất. Quên các vấn đề với IE và khả năng tương thích với mã của bạn, trình biên dịch thực hiện một số phép thuật để biến đổi mã của bạn và làm cho nó tương thích với tất cả các trình duyệt hiện đại. Nói cách khác, theo mặc định, mã mà trình biên dịch TypeScript viết ra là tuân theo ES5 và tất cả các trình duyệt hiện đại đều hiểu hương vị ES5 của JavaScript.

Bước tiếp theo

Nếu bạn chưa dùng thử TypeScript, tôi thực sự khuyên bạn nên dùng thử. Là một nhà phát triển JavaScript, nó sẽ cung cấp cho bạn một số khả năng giúp công việc của bạn dễ dàng hơn. Gỡ lỗi ít khủng khiếp hơn và ít lỗi ngớ ngẩn hơn sẽ giúp bạn tiết kiệm được một khoảng thời gian quý báu.

Hãy xem bài đăng của ta về cách cài đặt một dự án TypeScript mới để biết một số hướng dẫn về cách bắt đầu với một dự án TypeScript mới.

Nếu bạn đã là một nhà phát triển TypeScript, tôi hy vọng bài đăng này có thể giải đáp một chút lý do tại sao bạn nên tiếp tục sử dụng nó cho các dự án tiếp theo của bạn .


Tags:

Các tin liên quan