关于indexable types

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

zippen

2022-05-15

图片描述
按照我的理解,key指定为string这个类型,但是testData2的key值不是number类型吗?就是1和2啊?我看了看文档,不是应该写成下面这样吗?

const testData2: {[key: number]:TestProps } ={
 1:{_id:'1',name:'a'}
}

如果按你的说法,key是string类型的,应该写成下面这样啊?

const testData2: {[key: string]:TestProps } ={
 '1':{_id:'1',name:'a'}
}

所以我觉得你写错了。。。
但是我又看完了这个视频,发现你并没有写错,就是那个数组变回对象的那个函数objToArr:
图片描述
我发现即使你写错了,结果依然是对的,明明key的值是number,但是最后却可以转换成string,真的神奇且疑惑。。。

写回答

1回答

张轩

2022-05-15

同学你好 object 的 key 是会自动转换的,假如你从object 取其中的一项,写作obj['1'], 也可以写作是 obj [1], 都是可以的。但是 obj.1 是会报错的。

0
0

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

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

3142 学习 · 2313 问题

查看课程