Welcome 🎉

logo

ReactLMS

Search
Light Mode
Contact Us

4 min to read

Contact us

No results for your search.
Sorry, an unexpected error occurred

Giới thiệu


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.


Giới thiệu về 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 nameage, và một phương thức greet.


Tối ưu hiệu suất khi sử dụng Interfaces


Khi sử dụng interfaces, có một số cách để tối ưu hiệu suất:

Sử dụng extends để kế thừa từ các interfaces khác

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.

Sử dụng readonly để ngăn thay đổi giá trị của thuộc tính

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.

Sử dụng ? để đánh dấu thuộc tính là tùy chọn

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.




Read more
On This Page