如何内联设置TypeScript接口属性值的索引签名?
改写实现
你可以直接把索引签名内联到Context接口的tags属性定义位置,无需单独声明Tags接口,改写后代码和原有类型逻辑完全等价,鼠标悬停查看类型时不需要跳转额外接口定义,提示更直接。
改写后的完整代码:
export interface Context { tags?: { [Key: string]: string | number | boolean | symbol | null | undefined } otherValues?: number }
- 写法说明:TS支持直接在属性类型位置定义匿名对象类型,你原本写在
Tags接口里的索引签名,直接放到tags?后面的对象类型块中即可,所有类型校验规则和原写法完全一致。 - 效果说明:IDE悬停提示时会直接在
Context的属性说明里展示tags支持的键值类型,不需要跨接口跳转查看,能达到你要的更直观的类型提示效果。
内容的提问来源于stack exchange,提问作者Paku
相关产品推荐
相关产品推荐

