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 string
và isActive
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 moduleA
và moduleB
. 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.