添加它似乎Record肯定是有原因的,但公告和手册没有解释原因。
const x: { [index: string]: number } = { f: 2, 3: 5 };
const y: Record<string, number> = { f: 2, 3: 5 };
Run Code Online (Sandbox Code Playgroud)
Record通常与键的并集一起使用来获取包含这些键的类型(例如Record<'a' | 'b', string > == { a:string, b:string}:)
如果您传递的不是键的联合,string这将解析为索引签名,因此问题中提到的两种类型是等效的。
您使用哪一个主要是风格问题。如果我定义的类型除了索引签名之外什么都没有,我更喜欢Record. 如果类型更复杂,那么我们需要拼出索引签名。
| 归档时间: |
|
| 查看次数: |
1554 次 |
| 最近记录: |