多个索引签名的疑惑

来源:2-18 null 和 undefined + 相关重要细节

Panda_io

2023-06-29

错误写法

interface Signature {
    [index: string]: unknown
    [index: number]: number
}
const b:Signature = [1,2,2,3,5]

正确写法

interface Signature {
    [index: string]: any
    [index: number]: number
}
const b:Signature = [1,2,2,3,5]```

请问老师:
(1)为啥[index: string]: any这样写就不报错了
(2)当有两个索引签名时时需要同时满足还是满足其一就可以了呀
写回答

1回答

keviny79

2023-06-29

(1) TS 底层在设计 [index: string]: any  时这种写法时,已经包含了数组类型,看成一个特例记住即可。(2) 两项都要满足,一般一个接口中索引签名只定义一项即可。

0
0

TypeScript 从入门到深度掌握,晋级TS高手

200+技术点,22 场景应用,Vue3 源码 TS 用法剖析

441 学习 · 53 问题

查看课程