Object Types trong TypeScript cho phép bạn định nghĩa cấu trúc của các đối tượng với các thuộc tính và kiểu dữ liệu cụ thể. Việc sử dụng object types giúp cải thiện tính rõ ràng, tính bảo trì và tính an toàn của mã nguồn, đồng thời cung cấp thông tin hữu ích cho các công cụ hỗ trợ như IDE.
Bài viết này là một phần của chuỗi học TypeScript trên "codetuthub.com", cùng với các bài học khác như TypeScript Simple Types, TypeScript Tuples, và TypeScript Interfaces.
1. Định nghĩa object types
Object types được sử dụng để mô tả các đối tượng, với các thuộc tính và kiểu dữ liệu của chúng. Bạn có thể định nghĩa một object type bằng cách sử dụng cú pháp đối tượng trong TypeScript.
Ví dụ
let person: { name: string; age: number; isActive: boolean } = {
name: "Alice",
age: 30,
isActive: true
};Trong ví dụ này, biến person là một đối tượng có ba thuộc tính: name, age, và isActive, với các kiểu tương ứng.
2. Khai báo object types
Bạn có thể khai báo object types bằng nhiều cách khác nhau, bao gồm:
2.1 Sử dụng inline type
Sử dụng inline type cho các đối tượng trực tiếp trong khai báo.
let car: { brand: string; model: string; year: number } = {
brand: "Toyota",
model: "Camry",
year: 2021
};2.2 Sử dụng type alias
Bạn có thể tạo một type alias để định nghĩa object type và sử dụng nó cho các biến.
type User = {
name: string;
age: number;
email?: string; // Thuộc tính tùy chọn
};
let user: User = {
name: "Bob",
age: 25,
email: "bob@example.com"
};Trong ví dụ này, User là một type alias đại diện cho cấu trúc đối tượng có thể được sử dụng nhiều lần.
3. Sử dụng interfaces
TypeScript cũng cho phép bạn định nghĩa cấu trúc của một đối tượng bằng cách sử dụng interfaces. Interfaces rất hữu ích khi bạn muốn mô tả các đối tượng phức tạp hơn và có thể mở rộng.
Ví dụ
interface Animal {
name: string;
age: number;
speak(): void; // Phương thức
}
class Dog implements Animal {
constructor(public name: string, public age: number) {}
speak(): void {
console.log(`${this.name} barks.`);
}
}
const dog = new Dog("Rex", 5);
dog.speak(); // Kết quả: "Rex barks."4. Thao tác với object types
TypeScript cho phép bạn thao tác với object types một cách linh hoạt. Bạn có thể truy cập và thay đổi các thuộc tính của một đối tượng giống như trong JavaScript.
Ví dụ
let student: { name: string; grade: number } = { name: "Jane", grade: 90 };
// Truy cập thuộc tính
console.log(student.name); // Kết quả: "Jane"
// Thay đổi giá trị
student.grade = 95;
console.log(student.grade); // Kết quả: 955. Tính năng tùy chọn và đọc-ghi
TypeScript cho phép bạn đánh dấu các thuộc tính là tùy chọn bằng cách sử dụng dấu ?. Bạn cũng có thể xác định các thuộc tính chỉ có thể được đọc bằng cách sử dụng từ khóa readonly.
Ví dụ
type Point = {
readonly x: number;
readonly y: number;
label?: string; // Thuộc tính tùy chọn
};
let point: Point = { x: 10, y: 20 };
// point.x = 15; // Lỗi: Cannot assign to 'x' because it is a read-only property.
point.label = "A"; // Hợp lệ6. Kết luận
Object types trong TypeScript giúp bạn xây dựng cấu trúc dữ liệu rõ ràng và an toàn hơn cho mã nguồn của mình. Việc sử dụng object types, type aliases, và interfaces giúp mã dễ đọc, bảo trì và giảm thiểu lỗi. Để tìm hiểu thêm về TypeScript, hãy tham khảo các bài học liên quan trên "codetuthub.com" như TypeScript Simple Types, TypeScript Tuples, và TypeScript Interfaces.








