如何修改.d.ts声明文件为函数添加任意字符串键的索引签名
解决方案
直接通过接口定义混合可调用类型,同时包含函数调用签名和你需要的字符串索引签名即可,修改后的.d.ts文件内容如下:
interface FooFunction { // 原有函数的调用签名定义 (input: string): number | null; // 新增字符串索引签名 [index: string]: number; } declare const foo: FooFunction; export default foo;
说明
- 该定义下
foo既可以正常作为函数调用,也支持任意字符串作为键、number类型作为值的属性挂载 - 你示例中的
foo['something'] = 2操作完全符合上述类型定义,不会触发类型报错
内容的提问来源于stack exchange,提问作者Buszmen
相关产品推荐
相关产品推荐

