Giới Thiệu Về TypeScript
TypeScript là một ngôn ngữ lập trình siêu tập mạnh mẽ của JavaScript, nổi bật với khả năng gõ tĩnh cùng những tính năng nâng cao khác. Ngôn ngữ này không chỉ giúp xây dựng các ứng dụng phức tạp một cách dễ dàng mà còn cải thiện chất lượng mã và khả năng cộng tác giữa các lập trình viên thông qua việc phát hiện lỗi ngay tại thời điểm biên dịch.
TypeScript Là Gì?
TypeScript mở rộng khả năng của JavaScript bằng cách cho phép bạn thêm các chú thích kiểu vào mã nguồn. Diện tích biên dịch và các tính năng kiểu tĩnh giúp ngăn ngừa lỗi, cải thiện hiệu suất và giúp việc quản lý mã trở nên dễ dàng hơn. Khác với JavaScript, một ngôn ngữ gõ động, TypeScript cung cấp khả năng gán kiểu cho biến, tham số hàm và giá trị trả về.
Các Kiểu Dữ Liệu Trong TypeScript
TypeScript cung cấp nhiều kiểu dữ liệu nguyên thủy và phức tạp giúp lập trình viên dễ dàng quản lý và xác định giá trị của các biến. Dưới đây là một số kiểu dữ liệu cơ bản và nâng cao:
1. Kiểu Number
Kiểu number
trong TypeScript được sử dụng để đại diện cho cả số nguyên và số thực (số dấu phẩy động). Không có sự phân biệt giữa chúng, cho phép bạn dễ dàng thao tác với mọi loại số.
typescript
let age: number = 25;
let price: number = 19.99;
2. Kiểu String
Kiểu string
được dùng để biểu diễn văn bản. Bạn có thể sử dụng dấu nháy đơn, nháy kép hoặc dấu huyền để định nghĩa giá trị chuỗi.
typescript
let name: string = "John Doe";
let greeting: string = `Hello, ${name}!`;
3. Kiểu Boolean
Kiểu boolean
thể hiện giá trị logic, có thể là true
hoặc false
. Kiểu này thường được sử dụng trong các điều kiện và điều khiển luồng.
typescript
let isActive: boolean = true;
let isCompleted: boolean = false;
4. Kiểu Array
Trong TypeScript, mảng có thể được định nghĩa với kiểu dữ liệu tĩnh. Bạn có thể sử dụng ký hiệu kiểu mảng hoặc ký hiệu generic:
typescript
let numbers: number[] = [1, 2, 3, 4];
typescript
let numbers: Array<number> = [1, 2, 3, 4];
5. Kiểu Tuple
Tuple cho phép bạn định nghĩa một mảng có số lượng phần tử cố định, với kiểu dữ liệu khác nhau cho từng phần tử. Đây là lựa chọn tuyệt vời khi bạn muốn nhóm nhiều giá trị có kiểu không giống nhau.
typescript
let person: [string, number] = ["Alice", 30];
6. Kiểu Enum
Enum cho phép bạn định nghĩa một tập hợp các hằng số với tên gọi nhất định. Theo mặc định, giá trị của enum bắt đầu từ 0.
typescript
enum Direction {
Up = 1,
Down,
Left,
Right
}
let move: Direction = Direction.Up;
7. Kiểu Any
Kiểu any
cho phép bạn bỏ qua các kiểm tra kiểu cụ thể cho một biến. Điều này hữu ích khi bạn không chắc chắn về kiểu dữ liệu của một biến.
typescript
let data: any = 42;
data = "Now I am a string";
data = [1, 2, 3];
8. Kiểu Void
Kiểu void
được sử dụng để chỉ ra rằng một hàm không trả về bất kỳ giá trị nào. Thường dùng trong các hàm thực hiện hành động nhưng không cần trả kết quả.
typescript
function logMessage(message: string): void {
console.log(message);
}
9. Kiểu Null và Undefined
null
và undefined
là những kiểu riêng biệt. null
biểu thị sự vắng mặt của giá trị, còn undefined
là một biến đã khai báo nhưng chưa được khởi tạo.
typescript
let notAssigned: undefined = undefined;
let absentValue: null = null;
10. Kiểu Never
Kiểu never
đại diện cho một giá trị không bao giờ xảy ra. Kiểu này thường dùng trong các hàm không có giá trị trả về như ném lỗi hoặc chạy vòng lặp vô hạn.
typescript
function throwError(message: string): never {
throw new Error(message);
}
Khẳng Định Kiểu (Type Assertions)
Trong những trường hợp TypeScript không suy luận được kiểu chính xác, bạn có thể sử dụng khẳng định kiểu. Điều này cho phép bạn chỉ định kiểu cho một biến một cách rõ ràng hơn.
typescript
let someValue: any = "Hello, TypeScript!";
let strLength: number = (someValue as string).length;
Cũng có thể sử dụng cú pháp <>
cho khẳng định kiểu, nhưng lưu ý rằng cú pháp này không hỗ trợ trong các tệp JSX:
typescript
let strLength: number = (<string>someValue).length;
Kết Luận
TypeScript mang đến cho lập trình viên nhiều kiểu dữ liệu khác nhau, giúp tăng tính linh hoạt và an toàn cho mã nguồn. Việc áp dụng hiệu quả các kiểu dữ liệu này giúp phát hiện lỗi sớm trong quá trình phát triển và đảm bảo mã hoạt động đúng như mong đợi. Qua bài viết này, bạn đã được tìm hiểu về các kiểu dữ liệu cơ bản và nâng cao trong TypeScript, từ kiểu number, string, boolean đến tuple, enum và any. Hiểu rõ các kiểu dữ liệu là điều quan trọng để phát triển mã TypeScript sạch và hiệu quả.
Cảm ơn các bạn đã theo dõi!
source: viblo