Sự khác nhau giữa TypeScript và JavaScript là gì

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.

Sự khác nhau giữa TypeScript và JavaScript là gì

Sự khác nhau giữa TypeScript và JavaScript là gì

Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thứ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).

Sự khác nhau giữa TypeScript và JavaScript là gì

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.

Sự khác nhau giữa TypeScript và JavaScript là gì

JavaScript là ngôn ngữ lập trình phổ biến của web. Ban đầu nó được gọi là LiveScript. TypeScript là một ngôn ngữ dựa trên JavaScript. Các sự khác biệt chính giữa Javascript và TypeScript là thế JavaScript là ngôn ngữ kịch bản phía máy khách và TypeScript là ngôn ngữ được biên dịch hướng đối tượng. Mô hình lập trình hướng đối tượng tập trung vào trừu tượng hóa dữ liệu hơn là thuật toán xử lý dữ liệu. Nó dựa trên hai khái niệm chính; đối tượng và lớp học.

NỘI DUNG

1. Tổng quan và sự khác biệt chính2. JavaScript là gì3. TypeScript là gì4. Điểm tương đồng giữa JavaScript và TypeScript5. So sánh cạnh nhau - JavaScript so với TypeScript ở dạng bảng

6. Tóm tắt

JavaScript là gì?

HTML, CSS, JavaScript chủ yếu được sử dụng để phát triển web. Ngôn ngữ đánh dấu siêu văn bản (HTML) là ngôn ngữ đánh dấu xây dựng cấu trúc của trang web. Đó là tạo nội dung của trang như đoạn văn, tiêu đề, v.v ... Biểu định kiểu xếp chồng (CSS) cung cấp kiểu dáng cho trang web để hiển thị. JavaScript là ngôn ngữ lập trình để làm cho trang web tương tác. JavaScript cho phép thực hiện xác thực mẫu, áp dụng hình động và tạo sự kiện.

Sự khác nhau giữa TypeScript và JavaScript là gì

Hình 01: Logo JavaScript

JavaScript là ngôn ngữ kịch bản phía máy khách. Khi người dùng mở trình duyệt web và yêu cầu một trang web, yêu cầu đó sẽ đến máy chủ web. Máy chủ web gửi HTML và CSS đơn giản đến trình duyệt web. Hệ điều hành chứa trình duyệt web và trình duyệt web đó chứa trang web và trang web chứa JavaScript để nó chạy trên máy chủ web. Các trình duyệt như Safari, Opera và Chrome chứa công cụ JavaScript. JavaScript không hỗ trợ đọc và ghi vào tệp. Nó cũng không có khả năng đa luồng và đa xử lý.

TypeScript là gì?

TypeScript là một siêu mã JavaScript được phát triển bởi Microsoft. Nó có tất cả các tính năng của Javascript. Nó sử dụng trình biên dịch TypeScript để chuyển đổi tệp TypeScript (ts) thành tệp JavaScript (js). TypeScript dễ dàng hơn để tích hợp vào các dự án JavaScript. TypeScript cũng cung cấp kiểm tra kiểu tĩnh. Nó cho phép lập trình viên kiểm tra và gán các biến và loại hàm. Tính năng này làm cho mã dễ đọc hơn và để tránh lỗi. TypeScript có các kiểu dữ liệu như String, Number, Boolean, Null, Array, Enum, Tuple và Generics.

Sự khác nhau giữa TypeScript và JavaScript là gì

Hình 02: TypeScript

Ưu điểm chính của TypeScript là nó cho phép tạo các đối tượng dựa trên lớp. Các lập trình viên từ C ++, nền Java đã quen thuộc với các khái niệm như các lớp, các đối tượng, sự kế thừa. Khi họ cố gắng lập trình bằng JavaScript, có thể khó áp dụng các khái niệm đó trong kịch bản JavaScript. Để tạo một lớp trong JavaScript, một lập trình viên nên tạo một hàm. Để thừa kế, họ phải sử dụng, nguyên mẫu. Tuy nhiên, TypeScript dựa trên lớp nên nó có khả năng hỗ trợ kế thừa, đóng gói và sửa đổi như một ngôn ngữ lập trình hướng đối tượng.

Điểm tương đồng giữa JavaScript và TypeScript là gì?

  • TypeScript là một siêu ký tự của JavaScript. Tất cả các tính năng của JavaScript đều có sẵn trong TypeScript.
  • Cả hai ngôn ngữ đều mở và đa nền tảng.

Sự khác biệt giữa JavaScript và TypeScript là gì?

JavaScript là ngôn ngữ dựa trên trình thông dịch để thêm tương tác vào trang web. TypeScript là một siêu bộ Javascript được biên dịch thành JavaScript đơn giản.
 Thể loại ngôn ngữ
Javascript là một ngôn ngữ kịch bản. TypeScript là ngôn ngữ lập trình hướng đối tượng.
Biên soạn
Javascript không cần trình biên dịch. Nó chạy trên trình duyệt web. TypeScript yêu cầu trình biên dịch TypeScript để chuyển đổi thành tệp JavaScript.
Các tính năng hướng đối tượng
JavaScript không hoàn toàn hướng đối tượng. Nó là nguyên mẫu dựa trên. Nó không có giao diện. TypeScript là ngôn ngữ lập trình hướng đối tượng và nó dựa trên lớp. Có thể sử dụng các lớp, Kế thừa, giao diện và sửa đổi.
Phương pháp thực hiện
JavaScript chạy ở phía máy khách. TypeScript chạy ở phía máy khách cũng như phía máy chủ.
Kiểm tra tĩnh
Javascript không có kiểm tra kiểu tĩnh. TypeScript có kiểm tra kiểu tĩnh.
Tính mô đun
Javascript không cho phép các mô-đun hỗ trợ. Bản đánh máy có thể nhập tệp và mô-đun.

Tóm lược - JavaScript vs TypeScript

JavaScript là một ngôn ngữ để tạo các trang web động. Đây là một ngôn ngữ diễn giải nhẹ, dễ tích hợp với HTML và CSS. Nó rất hữu ích để xác thực mẫu, hoạt hình và để thêm khả năng đa phương tiện vào một trang web. TypeScript là JavaScript với các tính năng bổ sung. Sự khác biệt giữa JavaScript và TypeScript là JavaScript là ngôn ngữ kịch bản phía máy khách và TypeScript là ngôn ngữ được biên dịch hướng đối tượng.

Tải xuống phiên bản PDF của JavaScript vs TypeScript

Bạn có thể tải xuống phiên bản PDF của bài viết này và sử dụng nó cho mục đích ngoại tuyến theo ghi chú trích dẫn. Vui lòng tải xuống phiên bản PDF tại đây Sự khác biệt giữa Javascript và Bản đánh máy

Tài liệu tham khảo:

1. Điểm, Hướng dẫn. Tổng quan về JavaScript JavaScript. Www.tutorialspoint.com, Điểm hướng dẫn, ngày 15 tháng 8 năm 2017. Có sẵn tại đây 2. Điểm, Hướng dẫn. Tổng quan về TypeScript. Www.tutorialspoint.com, Điểm hướng dẫn, ngày 15 tháng 8 năm 2017. Có sẵn tại đây 

3.fvvvideo. YouTube, YouTube, ngày 31 tháng 8 năm 2016. Có sẵn tại đây 

Hình ảnh lịch sự:

1.'Javascript huy hiệu'By Nikotaf - Công việc riêng, (CC BY-SA 4.0) qua Commons Wikimedia