typescript - 我们什么时候应该使用 Record<string, T> vs { [index : string]: T } ? [TypeScript

标签 typescript record

我们什么时候应该使用 Record vs { [index: string]: T } ?

看来 Record 一定是出于某种原因添加的,但是 announcementHandbook不要解释为什么。

const x: { [index: string]: number } = { f: 2, 3: 5 };
const y: Record<string, number> = { f: 2, 3: 5 };

最佳答案

Record通常与键并集一起使用以获得包含这些键的类型(例如:Record<'a' | 'b', string > == { a:string, b:string})

如果您传入 string 而不是键的并集这将解析为索引签名,因此问题中提到的两种类型是等效的。

您使用哪一个主要是风格问题。如果我定义的类型只有索引签名,我更喜欢 Record .如果类型比较复杂,那么我们需要拼出索引签名。

关于typescript - 我们什么时候应该使用 Record<string, T> vs { [index : string]: T } ? [TypeScript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55902585/

相关文章:

haskell - 在 Haskell 中使用多态记录的意外缓存行为

angular - D3.js V4 和 Angular 不会发生节点转换

reactjs - 无法在 monorepo 中设置绝对模块导入

mysql - 按年月选择组内的最后 n 条记录

audio - 如何从通过远程桌面访问的 PC 的音频输入进行录制?

Delphi:未定义的记录变量

javascript - 使用 Angular 6 插入数据时更新数据表

javascript - Typescript 本地存储兼容性

TypeScript - 变量在某些无法确定其类型的位置隐式具有类型 'any'

java - 根据两列选择随机平衡记录