TypeScript - Tổng quan
JavaScript đã được giới thiệu như một ngôn ngữ cho phía máy khách. Sự phát triển của Node.js đã đánh dấu JavaScript là một công nghệ phía máy chủ mới nổi. Tuy nhiên, khi mã JavaScript phát triển, nó có xu hướng trở nên lộn xộn hơn, gây khó khăn cho việc bảo trì và sử dụng lại mã. Hơn nữa, việc nó không nắm bắt được các tính năng của Hướng đối tượng, kiểm tra kiểu mạnh và kiểm tra lỗi thời gian biên dịch ngăn cản JavaScript thành công ở cấp doanh nghiệp như một công nghệ phía máy chủ chính thức.TypeScript đã được trình bày để thu hẹp khoảng cách này.
TypeScript là gì?
Theo định nghĩa, “TypeScript là JavaScript để phát triển quy mô ứng dụng.”
TypeScript là một ngôn ngữ biên dịch, hướng đối tượng, được định kiểu mạnh mẽ. Nó được thiết kế bởiAnders Hejlsberg(người thiết kế C #) tại Microsoft. TypeScript vừa là một ngôn ngữ vừa là một bộ công cụ. TypeScript là một tập siêu JavaScript được đánh máy được biên dịch sang JavaScript. Nói cách khác, TypeScript là JavaScript cộng với một số tính năng bổ sung.
Các tính năng của TypeScript
TypeScript is just JavaScript. TypeScript bắt đầu bằng JavaScript và kết thúc bằng JavaScript. Typecript thông qua các khối xây dựng cơ bản của chương trình của bạn từ JavaScript. Do đó, bạn chỉ cần biết JavaScript để sử dụng TypeScript. Tất cả mã TypeScript được chuyển đổi thành JavaScript tương đương của nó cho mục đích thực thi.
TypeScript supports other JS libraries. TypeScript được biên dịch có thể được sử dụng từ bất kỳ mã JavaScript nào. JavaScript do TypeScript tạo có thể sử dụng lại tất cả các khung, công cụ và thư viện JavaScript hiện có.
JavaScript is TypeScript. Điều này có nghĩa là bất kỳ.js tệp có thể được đổi tên thành .ts và được biên dịch với các tệp TypeScript khác.
TypeScript is portable. TypeScript có thể di động trên các trình duyệt, thiết bị và hệ điều hành. Nó có thể chạy trên bất kỳ môi trường nào mà JavaScript chạy trên đó. Không giống như các đối tác của nó, TypeScript không cần một máy ảo chuyên dụng hoặc một môi trường thời gian chạy cụ thể để thực thi.
TypeScript và ECMAScript
Đặc tả ECMAScript là một đặc tả chuẩn hóa của một ngôn ngữ kịch bản. Có sáu phiên bản của ECMA-262 được xuất bản. Phiên bản 6 của tiêu chuẩn có tên mã là "Harmony". TypeScript được căn chỉnh với đặc tả ECMAScript6.
TypeScript sử dụng các tính năng ngôn ngữ cơ bản của nó từ đặc tả ECMAScript5, tức là, đặc tả chính thức cho JavaScript. Các tính năng của ngôn ngữ TypeScript như Mô-đun và định hướng dựa trên lớp phù hợp với đặc tả EcmaScript 6. Ngoài ra, TypeScript cũng bao gồm các tính năng như generics và gõ chú thích không phải là một phần của đặc tả EcmaScript6.
Tại sao sử dụng TypeScript?
TypeScript vượt trội hơn so với các ngôn ngữ lập trình khác như CoffeeScript và Dart theo cách mà TypeScript là JavaScript mở rộng. Ngược lại, các ngôn ngữ như Dart, CoffeeScript tự nó là những ngôn ngữ mới và yêu cầu môi trường thực thi ngôn ngữ cụ thể.
Các lợi ích của TypeScript bao gồm:
Compilation- JavaScript là một ngôn ngữ thông dịch. Do đó, nó cần được chạy để kiểm tra xem nó có hợp lệ hay không. Nó có nghĩa là bạn viết tất cả các mã chỉ để không tìm thấy đầu ra, trong trường hợp có lỗi. Do đó, bạn phải dành hàng giờ để tìm lỗi trong mã. Trình chuyển đổi TypeScript cung cấp tính năng kiểm tra lỗi. TypeScript sẽ biên dịch mã và tạo ra các lỗi biên dịch, nếu nó tìm thấy một số loại lỗi cú pháp. Điều này giúp làm nổi bật các lỗi trước khi tập lệnh được chạy.
Strong Static Typing- JavaScript không được gõ mạnh. TypeScript đi kèm với hệ thống suy luận kiểu và gõ tĩnh tùy chọn thông qua TLS (Dịch vụ Ngôn ngữ TypeScript). Kiểu của một biến, được khai báo không có kiểu, có thể được TLS suy ra dựa trên giá trị của nó.
TypeScript supports type definitionscho các thư viện JavaScript hiện có. Tệp Định nghĩa TypeScript (với.d.tsphần mở rộng) cung cấp định nghĩa cho các thư viện JavaScript bên ngoài. Do đó, mã TypeScript có thể chứa các thư viện này.
TypeScript supports Object Oriented Programming các khái niệm như lớp, giao diện, kế thừa, v.v.
Các thành phần của TypeScript
Về cơ bản, TypeScript có ba thành phần sau:
Language - Nó bao gồm cú pháp, từ khóa và chú thích kiểu.
The TypeScript Compiler - Trình biên dịch TypeScript (tsc) chuyển đổi các hướng dẫn được viết bằng TypeScript sang JavaScript tương đương của nó.
The TypeScript Language Service- "Dịch vụ ngôn ngữ" cho thấy một lớp bổ sung xung quanh đường ống biên dịch cốt lõi là các ứng dụng giống như trình biên tập. Dịch vụ ngôn ngữ hỗ trợ tập hợp chung của các thao tác soạn thảo điển hình như hoàn thành câu lệnh, trợ giúp chữ ký, định dạng và phác thảo mã, tô màu, v.v.
Tệp khai báo
Khi một tập lệnh TypeScript được biên dịch, có một tùy chọn để tạo declaration file (với phần mở rộng .d.ts) có chức năng như một giao diện cho các thành phần trong JavaScript đã biên dịch. Khái niệm tệp khai báo tương tự như khái niệm tệp tiêu đề trong C / C ++. Tệp khai báo (tệp có.d.ts phần mở rộng) cung cấp intellisense cho các loại, lệnh gọi hàm và hỗ trợ biến cho các thư viện JavaScript như jQuery, MooTools, v.v.