Các tính năng nổi bật của TypeScript: Kiểm tra kiểu tĩnh, trình biên dịch, hệ thống module

Hỗ trợ kiểm tra kiểu tĩnh

Một trong những điểm mạnh của TypeScript là khả năng kiểm tra kiểu dữ liệu tĩnh. Với tính năng này, chúng ta có thể xác định và áp dụng kiểu dữ liệu cho biến, tham số hàm và giá trị trả về.

Ví dụ:

let age: number = 25;
let name: string = "John";
let isActive: boolean = true;

Trong ví dụ trên, chúng ta khai báo biến age có kiểu number, name có kiểu stringisActive có kiểu boolean. TypeScript sẽ kiểm tra tính hợp lệ của các phép gán giá trị và báo lỗi nếu có sai sót.

 

Trình biên dịch và tự động hoá

TypeScript đi kèm với một trình biên dịch mạnh mẽ, cho phép biên dịch mã TypeScript thành mã JavaScript tương ứng. Điều này cho phép chúng ta viết mã TypeScript hiện đại và sử dụng các tính năng mới nhất của JavaScript.

Ví dụ:

// TypeScript code
const sum = (a: number, b: number): number => {
  return a + b;
};

// Transpiled JavaScript code
var sum = function (a, b) {
  return a + b;
};

 

Kiểm tra lỗi tại thời gian biên dịch

TypeScript kiểm tra lỗi tại thời gian biên dịch, giúp phát hiện các lỗi logic, sai sót cú pháp và lỗi kiểu dữ liệu trước khi chạy ứng dụng.

Ví dụ:

const calculateArea = (radius: number): number => {
  return Math.PI * radius * radius;
};

console.log(calculateArea("5")); // Lỗi: kiểu dữ liệu không phù hợp

Trong ví dụ trên, TypeScript sẽ phát hiện lỗi ngay khi biên dịch vì chúng ta truyền một chuỗi "5" cho tham số radius có kiểu number.

 

Hỗ trợ hệ thống module

TypeScript hỗ trợ một hệ thống module mạnh mẽ, cho phép chia nhỏ mã nguồn thành các module độc lập. Điều này giúp tăng khả năng quản lý, tái sử dụng và mở rộng mã nguồn.

Ví dụ:

// Module A
export const greeting = "Hello";

// Module B
import { greeting } from "./moduleA";
console.log(greeting); // Kết quả: "Hello"

Trong ví dụ trên, chúng ta có hai module moduleAmoduleB. moduleA xuất ra một biến greeting, và moduleB import biến greeting từ moduleA và sử dụng nó.

 

Mở rộng cú pháp và tính năng

TypeScript cung cấp khả năng mở rộng cú pháp và tính năng của JavaScript.

Ví dụ, TypeScript hỗ trợ các tính năng ECMAScript mới nhất như arrow functions, async/await, destructuring và template literals. Điều này giúp lập trình viên sử dụng các tính năng hiện đại và viết mã dễ đọc, dễ hiểu hơn.

Ví dụ:

const name = "John";
const message = `Hello, ${name}! Welcome to TypeScript.`;
console.log(message); // Kết quả: "Hello, John! Welcome to TypeScript."

Trong ví dụ trên, chúng ta sử dụng template literals để tạo chuỗi chứa biến name.

 

Tóm lại, TypeScript có các tính năng nổi bật như kiểm tra kiểu tĩnh, trình biên dịch và tự động hoá, kiểm tra lỗi tại thời gian biên dịch, hỗ trợ hệ thống module và mở rộng cú pháp và tính năng. Những tính năng này giúp nâng cao tính tin cậy, hiệu suất và quản lý mã nguồn trong quá trình phát triển ứng dụng.