Trong bài viết này, chúng ta sẽ tìm hiểu về cách tối ưu hiệu suất khi sử dụng interfaces trong TypeScript. Đầu tiên, chúng ta cần hiểu rõ về khái niệm interfaces.
Trong TypeScript, interface là một cách để định nghĩa một "kiểu" mới, bao gồm các thuộc tính và phương thức mà một đối tượng cần phải triển khai.
interface Person {
name: string;
age: number;
greet(): void;
}
Trong ví dụ trên, Person
là một interface với hai thuộc tính name
và age
, và một phương thức greet
.
Khi sử dụng interfaces, có một số cách để tối ưu hiệu suất:
Khi có nhiều interfaces có các thuộc tính tương tự nhau, bạn có thể sử dụng extends
để kế thừa từ interface khác, giúp giảm bớt lượng code cần viết.
interface Animal {
name: string;
}
interface Dog extends Animal {
bark(): void;
}
Trong ví dụ trên, Dog
kế thừa từ Animal
, nghĩa là nó có thuộc tính name
mà không cần định nghĩa lại.
Khi bạn không muốn giá trị của một thuộc tính trong interface bị thay đổi, bạn có thể sử dụng từ khóa readonly
.
interface Person {
readonly name: string;
age: number;
}
Trong ví dụ trên, name
là một thuộc tính chỉ đọc, nghĩa là bạn không thể thay đổi giá trị của nó sau khi nó đã được khởi tạo.
Trong một số trường hợp, không phải tất cả các thuộc tính trong interface đều cần thiết. Bạn có thể sử dụng dấu ?
sau tên thuộc tính để đánh dấu nó là tùy chọn.
interface Person {
name: string;
age?: number;
}
Trong ví dụ trên, age
là một thuộc tính tùy chọn. Nghĩa là bạn có thể tạo một đối tượng Person
mà không cần cung cấp giá trị cho age
.
Như vậy, thông qua việc sử dụng các tính năng của interfaces, chúng ta có thể tối ưu hiệu suất khi lập trình TypeScript.