关于这个索引类型的用法

来源:3-11 接口 - 额外属性检查+函数类型+可索引的类型

慕尼黑7354265

2019-11-07

在视频的9分钟左右,老师的这个例子

class Animal {
  name: string
}
class Dog extends Animal {
  breed: string
}

// 错误:使用数值型的字符串索引,有时会得到完全不同的Animal!
interface NotOkay {  
  [x: number]: Animal
  [x: string]: Dog
}

如果我们使用NotOkay来定义数组

  let arr:NotOkay = [Dog,Animal] 是这样用吗? 但是这样是报错了
 

这个接口应该如何去使用呢?

写回答

1回答

ustbhuangyi

2019-11-07

NotOkay 的意思就是错误的演示呀,这里主要是说明索引类型的兼容性,也就是数字签名的类型必须能兼容字符串签名的类型,因为内部会做隐示转换的。建议你再多看几遍这节课喔。

0
0

下一代前端开发语言 TypeScript从零重构axios

课程从零开始重构功能完整的JS库,是学习造轮子的不二之选!

2629 学习 · 877 问题

查看课程