- vừa được xem lúc

Nên dùng Javascript hay Typescript?

0 0 37

Người đăng: Thanh Hung

Theo Viblo Asia

Một câu hỏi được rất nhiều anh em dev quan tâm đó là nên dùng Javascript hay Typescript. Trong dự án thì viết Typescript nhưng mọi người lại hay viết Javascript vậy thì nên sử dụng cái nào bây giờ ???

JavaScript là ngôn ngữ lập trình phổ biến nhất trên thế giới trong suốt 20 năm qua, vẫn được rất nhiều anh em dev tin dùng vậy tại sao Typescript đang ngày càng phổ biến dù xuất hiện sau, được rất nhiều lời khuyên sử dụng Typescript và nhiều thư viện lớn đã refactor lại mã nguồn JavaScript bằng Typescript.

TypeScript là gì?

TypeScript làm một ngôn ngữ lập trình mã nguồn mở được phát triển bởi Microsoft. Cha đẻ của TypeScript là Anders Hejlsberg, một kiến trúc sư trưởng (Lead Architect) của ngôn ngữ C# và là cha đẻ của ngôn ngữ lập trình Delphi và Turbo Pascal.

Khác với sự đơn giản của JavaScript, dù TypeScript cũng đồng thời kế thừa nhiều định nghĩa, khái niệm của các ngôn ngữ như C#, Java,… nhưng TypeScript lại có yêu cầu cao về trật tự rõ ràng.

TypeScript được xem là một phiên bản nâng cao hơn của JavaScript vì nó được thiết kế thêm nhiều chức năng tiện lợi hơn, cải tiến hơn từ những điểm yếu của JavaScript như các lớp hướng đối tượng và Static Structural typing, bên cạnh đó TypeScript còn có thể hoạt động rộng rãi cho các ứng dụng của ngôn ngữ Angular2 và Nodejs.

Typescript với JavaScript khác nhau thế nào?

Có thể nói TypeScript là một phiên bản nâng cao của JavaScript vì nó bổ sung những kiểu dữ liệu tĩnh và các lớp hướng đối tượng, đồng thời nó bao gồm luôn các phiên bản ES mới nhất .

  • Các file TypeScript có phần mở rộng là *.ts . Trong khi các file JS là *.js

  • Code TypeScript sẽ được biên dịch thành JavaScript thuần. Trong TypeScript có tích hợp sẵn một trình biên dịch được viết bằng TypeScript luôn.

  • Các biến trong code TypeScript được dùng với kiểu dữ liệu rõ ràng hơn trong code JavaScript.

Ví dụ 1: Khai báo biến trong TypeScript var name: string = "Thanh Hung";
var age: number = 23;
Ví dụ 2: Khai báo biến trong JavaScript var name = "Thanh Hung";
var age = 23;
  • TypeScript kiểm tra kiểu của các biến khi biên dịch còn Javascript kiểm tra lúc chạy
Ví dụ 3: Kiểm tra kiểu dữ liệu trong Typescript function Addition(number1: number, number2: number){ return number1 + number2;
}
Addition(1, 2); //3
Addition(1, "hai"); //error
Ví dụ 4: Kiểm tra kiểu dữ liệu trong JavaScript function Addition(number2, number2){ return number2 + number2;
}
Addition(1, 2); //3
Addition(1, "hai"); //1hai

Dù có những sự khác nhau nhưng cả hai vẫn có những ưu nhược điểm riêng.

Javascript: Dynamic Type

Ưu điểm:

  • Thoải mái khi sử dụng, không bị ràng buộc kiểu dữ liệu.

  • Không tốn thời gian setup ban đầu.

Nhược điểm:

  • Lâu lâu quay lại, ko nhớ tên thuộc tính hay phương thức phải tra cứu lại.

  • Cần phải hiểu cách hoạt động của Javascript.

Typescript: Optional Static Type

Ưu điểm:

  • Nhắc code tốt

  • Truyền sai kiểu dữ liệu là báo lỗi ngay

  • Lâu lâu quay lại code hoặc người khác code cho mình thì đều được nhắc tên thuộc tính, phương thức nên không phải tra cứu lại

Nhược điểm:

  • Phải tốn thời gian setup ban đầu + khai báo kiểu dữ liệu.

  • Ðôi khi việc khai báo kiểu dữ liệu nhiều quá khiến code trở nên rườm rà.

Vậy có phải TypeScript tốt hơn JavaScript?

  • Dù có những điểm tối ưu hơn Javascript nhưng TypeScript không thể nào có thể thay thế hoặc làm cho JavaScript lỗi thời.

  • Và khẳng định rằng, JavaScript vẫn là ngôn ngữ kịch bản phía máy khách được yêu thích nhất ở thời điểm hiện tại (và trong tương lai).

  • Đối với các dự án nhỏ hơn, sử dụng TypeScript có thể làm gia tăng chi phí không cần thiết.

  • Ngay như bước biên dịch TypeScript thành JavaScript thôi cũng đã tốn chi phí, tài nguyên rồi.

  • Và vì JavaScript được chạy trực tiếp trên trình duyệt, vì vậy đối với các đoạn mã nhỏ, việc làm mới và gỡ lỗi sẽ dễ dàng hơn.

  • Còn đối với TypeScript, chúng ta cần một IDE thích hợp để có thể viết, thử nghiệm và gỡ lỗi nó.

Vậy khi nào thì nên sử dụng TypeScript, khi nào thì sử dụng Javascript?

Typescript nên dùng cho:

  • Dự án lớn.
  • Team size lớn (>5 người)
  • Chưa quen làm việc với kiểu dynamic type của Javascript.

Javascript nên dùng cho:

  • Dự án vừa và nhỏ.
  • Team size nhỏ (1-5 người)
  • Có kinh nghiệm làm việc với Javascript.

Như vậy tùy vào tính chất của dự án, thói quen, kinh nghiệm làm việc mà có thể chọn Typescript hay JavaScript sao cho phù hợp nhất với dự án cũng như team của mình.

Bình luận

Bài viết tương tự

- vừa được xem lúc

Giới thiệu Typescript - Sự khác nhau giữa Typescript và Javascript

Typescript là gì. TypeScript là một ngôn ngữ giúp cung cấp quy mô lớn hơn so với JavaScript.

0 0 525

- vừa được xem lúc

Bạn đã biết các tips này khi làm việc với chuỗi trong JavaScript chưa ?

Hi xin chào các bạn, tiếp tục chuỗi chủ đề về cái thằng JavaScript này, hôm nay mình sẽ giới thiệu cho các bạn một số thủ thuật hay ho khi làm việc với chuỗi trong JavaScript có thể bạn đã hoặc chưa từng dùng. Cụ thể như nào thì hãy cùng mình tìm hiểu trong bài viết này nhé (go).

0 0 433

- vừa được xem lúc

Một số phương thức với object trong Javascript

Trong Javascript có hỗ trợ các loại dữ liệu cơ bản là giống với hầu hết những ngôn ngữ lập trình khác. Bài viết này mình sẽ giới thiệu về Object và một số phương thức thường dùng với nó.

0 0 153

- vừa được xem lúc

Tìm hiểu về thư viện axios

Giới thiệu. Axios là gì? Axios là một thư viện HTTP Client dựa trên Promise.

0 0 145

- vừa được xem lúc

Imports và Exports trong JavaScript ES6

. Giới thiệu. ES6 cung cấp cho chúng ta import (nhập), export (xuất) các functions, biến từ module này sang module khác và sử dụng nó trong các file khác.

0 0 110

- vừa được xem lúc

Bài toán đọc số thành chữ (phần 2) - Hoàn chỉnh chương trình dưới 100 dòng code

Tiếp tục bài viết còn dang dở ở phần trước Phân tích bài toán đọc số thành chữ (phần 1) - Phân tích đề và những mảnh ghép đầu tiên. Bạn nào chưa đọc thì có thể xem ở link trên trước nhé.

0 0 245