请解释 TypeScript 中索引访问类型的含义及其作用。
考察说明
考查对 TypeScript 类型系统中索引访问类型的理解。
回答思路
- 【回答框架 1】索引访问类型允许通过索引语法访问对象类型中某个属性的类型,例如 T['key'] 会提取 T 中 key 属性的类型。
- 【回答框架 2】它支持联合类型索引,如 T['a'|'b'] 会得到 a 和 b 属性类型的联合,也支持使用 number 索引访问数组或元组的元素类型。
- 【回答框架 3】索引访问类型常用于类型编程,例如从复杂类型中提取部分类型,或根据键动态获取对应值的类型。
- 【回答框架 4】它需要确保索引是类型中存在的键,否则会报错,且与泛型结合时能实现更灵活的类型推导。
- 【关键点 1】索引访问类型通过 T['key'] 提取属性类型。
- 【关键点 2】支持联合索引和 number 索引。
- 【关键点 3】常用于类型提取和泛型编程。
- 【关键点 4】索引必须存在于类型中,否则编译错误。
- 【易错点 1】不要混淆索引访问类型与运行时属性访问。
- 【易错点 2】索引不存在时会导致编译错误。
- 【易错点 3】使用 number 索引时需确保类型支持数字索引签名。