Trong TypeScript, chúng ta có thể sử dụng Indexable Types để định nghĩa các loại dữ liệu mà chúng ta có thể "index" vào, giống như một mảng hoặc đối tượng.
Để sử dụng Indexable Types, chúng ta sẽ sử dụng cú pháp sau:
interface IndexableType {
[index: string]: number;
}
Trong đoạn mã trên, chúng ta đã tạo một interface tên là IndexableType
. Interface này có một index signature, [index: string]: number;
, cho phép chúng ta index vào IndexableType
bằng một chuỗi, và giá trị trả về sẽ là một số.
Dưới đây là một ví dụ về cách sử dụng Indexable Types:
interface StringArray {
[index: number]: string;
}
let myArray: StringArray;
myArray = ["Bob", "Fred"];
let myStr: string = myArray[0];
Trong ví dụ trên, chúng ta đã tạo một interface StringArray
cho phép chúng ta index vào nó bằng một số, và giá trị trả về sẽ là một chuỗi. Sau đó, chúng ta tạo một biến myArray
với loại StringArray
và gán cho nó một mảng chuỗi. Cuối cùng, chúng ta tạo một biến myStr
và gán cho nó giá trị của phần tử đầu tiên trong myArray
.
Indexable Types trong TypeScript cho phép chúng ta tạo các loại dữ liệu mà chúng ta có thể "index" vào, giống như một mảng hoặc đối tượng. Chúng rất hữu ích khi chúng ta muốn tạo các loại dữ liệu phức tạp hơn.