Trong TypeScript, bạn có thể mở rộng các kiểu trong một interface từ một interface khác bằng cách sử dụng từ khóa extends
. Điều này cho phép bạn tạo ra một interface mới mà bao gồm tất cả các thuộc tính của interface hiện có, cùng với các thuộc tính mới mà bạn muốn thêm vào.
Cách mở rộng một interface
Dưới đây là cú pháp và ví dụ để giúp bạn hiểu cách mở rộng một interface trong TypeScript.
Cú pháp
interface NewInterface extends ExistingInterface {
// Các thuộc tính mới ở đây
}
Ví dụ mở rộng interface
Giả sử bạn có một interface Person
và bạn muốn tạo một interface mới Employee
mở rộng từ Person
.
// Định nghĩa interface Person
interface Person {
name: string;
age: number;
}
// Định nghĩa interface Employee mở rộng từ Person
interface Employee extends Person {
employeeId: number;
department: string;
}
// Sử dụng interface Employee
const employee: Employee = {
name: "Alice",
age: 30,
employeeId: 1234,
department: "HR"
};
console.log(employee);
Trong ví dụ trên, interface Employee
kế thừa tất cả các thuộc tính từ interface Person
, vì vậy bạn không cần phải định nghĩa lại name
và age
. Bạn chỉ cần thêm các thuộc tính mới employeeId
và department
.
Kết hợp nhiều interface
Bạn cũng có thể mở rộng từ nhiều interface cùng một lúc bằng cách sử dụng dấu phẩy. Điều này cho phép bạn kết hợp nhiều kiểu dữ liệu khác nhau.
// Định nghĩa interface Address
interface Address {
street: string;
city: string;
}
// Định nghĩa interface Contact mở rộng từ Person và Address
interface Contact extends Person, Address {
email: string;
}
// Sử dụng interface Contact
const contact: Contact = {
name: "Bob",
age: 25,
street: "123 Main St",
city: "New York",
email: "[email protected]"
};
console.log(contact);
Trong ví dụ này, interface Contact
mở rộng từ cả Person
và Address
, kết hợp các thuộc tính của cả hai interface.
Kết luận
Việc mở rộng các kiểu trong TypeScript thông qua các interface là một cách hiệu quả để tổ chức và quản lý mã của bạn. Bằng cách kế thừa các thuộc tính từ các interface khác, bạn có thể tái sử dụng mã và đảm bảo rằng các kiểu dữ liệu của bạn có cấu trúc rõ ràng và nhất quán. Sử dụng tính năng này giúp bạn dễ dàng quản lý các loại dữ liệu phức tạp trong ứng dụng TypeScript của mình.