问题标签 [index-signature]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
typescript - 将索引签名添加到 .d.ts 中的函数
我想覆盖 npm 库类型以向函数添加索引签名。假设该函数没有做任何壮观的事情:
它有一个输入.d.ts
文件:
我想为这个函数添加属性,比如:
如何更改.d.ts
文件,以便我不仅可以使用任何属性执行此操作something
吗?它的索引签名应该是[index: string]: number;
. 我已经找到了如何做到这一点的答案,但仅限于单个或几个已知属性,但我需要将任何字符串作为键。
typescript - 键是字符串 vs [字符串] 的索引签名
这两者有什么区别?
world
对于两个值,我得到相同的结果 ( )
typescript - 具有来自传递类型的索引签名的打字稿类
我是打字稿的新手,我正在尝试正确定义一个类,将某种类型的对象转换为具有相同属性的类。但是,我无法正确定义此类上的键,因为它们是通用的:
我希望TrackedAnswer
该类具有与本例相同的索引签名RawAnswer
。有人可以帮我吗?
typescript - 如何指定必须具有至少两个特定类型属性的接口
这是用于选择框的选项。每个选项都必须有一个用作 id 的字符串属性,以及另一个表示将要显示的内容的属性——在这种情况下 a ReactNode
,但是,我不在乎这些被称为什么,只是有两个属性满足这个标准。我尝试了以下方法:
但是,当我尝试此 Typescript 时会产生以下错误:Duplicate index signature for type 'string'
.
这不会产生错误:
但过于宽松,因为它会匹配一个只有一个属性的对象(而且也是多余的,因为 ReactNode 包含字符串)。
有没有办法为两个未命名的属性指定类型?
typescript - 约束索引签名(使用泛型)以使子属性具有匹配的类型
在 TypeScript (v4.5.4) 中,我试图通过索引签名来定义对象类型。我希望 TypeScript 强制对象中的某些子属性具有匹配的类型,但这些类型允许在顶级属性之间变化。
在下面的(非工作)示例中,我希望所有快乐的司机驾驶他们最喜欢的汽车类型。驾驶员最喜欢的汽车类型与其汽车的实际类型不匹配会导致 TypeScript 编译器错误。
我已经尝试以我能想到的所有方式将泛型应用于索引签名和/或Car
and/orDriver
类型,但我无法让编译器强制执行驱动程序必须与其'sfavoriteCarType
完全匹配的约束。car
carType
你能帮我吗?
javascript - 使用必需的 AND 可选键在 Typescript 中创建索引签名
我试图找到一种更优雅的解决方案来创建一种类型,该类型允许其索引签名的某些键是可选的。
这可能是泛型的一个用例,但我似乎无法破解它。
目前构建它是这样的:
javascript - 使用 JSDoc 在 ES6 类上设置索引签名
在 Typescript 中,您只需这样做:
它允许您像这样访问计算的属性名称......
...没有收到Element implicitly has an 'any' type because type 'Test' has no index signature.
我不知道如何用 JSDoc 完成等效操作。有人对此有任何运气吗?
typescript - 带有对象数组的 Typescript 的索引签名
我已经使用 Typescript 几个月了,但一直坚持让我的索引签名正常工作。
对象数组如下所示:{ temperature: number; humidity: number; pressure: number; altitude: number; gas: number; timestamp: string; }
我尝试了多种不同的方法来添加 [metric: string]: any 并且如果不使用“any”似乎无法到达任何地方。
这是我在对象数组中使用的函数示例: