TypeScript中索引类型的name是什么?

下边这段代码是TypeScript教程里的关于索引类型的接口的说明,我始终没看懂。我想问一下这个length和name是谁的属性什么?他规定了什么? length是索引类型的的长度吗?name是接口的返回值类型还是什么?????

interface NumberDictionary {
  [index: string]: number;
  length: number;    // 可以,length是number类型
  name: string       // 错误,`name`的类型不是索引类型的子类型}


犯罪嫌疑人X
浏览 873回答 1
1回答

www说

length和name是NumberDictionary的属性。规定了什么,看字面上的意思,应该是字典的长度和名字吧。这个length只是定义的一个属性而已,不是你说索引类型的长度。name 也是一个属性而已。因为这个索引类型返回的是number型,而这里name定义的是string类型,所以那里是报错的。在这里接口你需要什么就去定义什么,比如说你还需要知道这个NumberDictionary的价格,你可以自己再加一个属性interface NumberDictionary {   [index: string]: number;   length: number;    // 可以,length是number类型   name: string;       // 错误,`name`的类型不是索引类型的子类型   price: number  }
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript