添加它似乎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 次 |
最近记录: |