typescript 索引签名
时间: 2024-01-07 21:02:49 浏览: 15
TypeScript中的索引签名是一种定义对象属性的方式,它允许我们使用字符串或数字作为属性名来访问对象的属性。索引签名通常用于定义对象的动态属性,这些属性的名称和数量在编译时是未知的。
在TypeScript中,我们可以使用以下两种类型的索引签名:
1. 字符串索引签名
字符串索引签名允许我们使用任意字符串作为属性名来访问对象的属性。例如:
```
interface MyObject {
[key: string]: string;
}
const myObject: MyObject = {
name: 'John',
age: '30',
gender: 'male'
};
console.log(myObject['name']); // Output: John
console.log(myObject['age']); // Output: 30
console.log(myObject['gender']); // Output: male
```
2. 数字索引签名
数字索引签名允许我们使用数字作为属性名来访问对象的属性。例如:
```
interface MyObject {
[key: number]: string;
}
const myObject: MyObject = {
0: 'John',
1: '30',
2: 'male'
};
console.log(myObject[0]); // Output: John
console.log(myObject[1]); // Output: 30
console.log(myObject[2]); // Output: male
```
需要注意的是,字符串索引签名和数字索引签名不能同时存在于同一个接口中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)