关于这个indexable types没听懂

来源:11-2 完成帮助函数

见信

2020-11-19

{}as{[key:string]:T}


reduce函数的初始值是一个空对象,这个空对象被被断言为value是被泛型T约束的object,key可以是一个string或者是什么(number吗)?我看了几遍没看懂开头说的那个例子,[ ]到底是什么意思?开头的那个例子key:number]:string,我只看懂value为string类型,[ ]里写的是number,所以key可以是number没看懂为什么还可以是string,而老师说的是可以是number,也可以是string。

写回答

2回答

希望林柚一健康快乐成长

2022-04-19

https://juejin.cn/post/6855449252785717256,这里写的挺详细的

0
0

张轩

2020-11-20

同学你好 indexable type 一般用来表示 key 不确定的类型。我们经常需要写一个不确定key 具体字段名称的类型。对象 { name: '123', sex: 'male'} ,我们不知道它有多少个key,所以可以表示为 

{ [key: string]: string }

也可以用来表示数组。

interface StringArray{  [index: number]: string;}
let myArray: StringArray;
myArray = ["Bob", "Fred"];

总之 用来表示key 不确定的一类数据结构

0
1
见信
根据老师这个例子意思是它的语法其实是[index]:number,然后我们指定index为number类型,所以写成了[index:number]:string是吧?我一直以为这里不是指定类型,而是一个语法
2020-11-20
共1条回复

Vue3 + TS 仿知乎专栏企业级项目

带你完成前后端分离复杂项目,率先掌握 vue3 造轮子技能

3142 学习 · 2313 问题

查看课程