Angular TypeScript:{[key:string]:any}作为函数的返回类型意味着什么?
我目前正在学习打字和角度。在阅读有关自定义验证器的文章时,我偶然发现了下面的一段代码Angular TypeScript:{[key:string]:any}作为函数的返回类型意味着什么?,angular,typescript,Angular,Typescript,我目前正在学习打字和角度。在阅读有关自定义验证器的文章时,我偶然发现了下面的一段代码 我真的不明白内部函数ie{[key:string]:any}的返回类型是什么意思?我理解key:string部分,即对象的键是string类型,但{[key:string]:any}的确切含义是什么?它返回一个对象,如 { "name": "John" } 或 这意味着函数返回一个对象,您可以使用任何字符串值对其进行索引;属性的结果值类型为any,这意味着它可以是任何类型。(|null表示它也可以返回n
我真的不明白内部函数ie
{[key:string]:any}
的返回类型是什么意思?我理解key:string
部分,即对象的键是string类型,但{[key:string]:any}
的确切含义是什么?它返回一个对象,如
{
"name": "John"
}
或
这意味着函数返回一个对象,您可以使用任何字符串值对其进行索引;属性的结果值类型为
any
,这意味着它可以是任何类型。(|null
表示它也可以返回null
,而不是返回实际对象。)
对象−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−v−−−−−−−−−−−−−−−−−−v
{[key:string]:any}
所有属性的键都是任意字符串−−−−−^^^^^^^^^^^^^ ^^^−−−−− 所有类型
财产是`任何'`
这是一种非常宽泛的类型
更多信息。从您链接的文档中,我认为正确的术语是“索引签名”,而不是“索引类型”。有关更多信息,请参阅本节:
{
"name": "John"
}
{
"length": 5
}
Object −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−v−−−−−−−−−−−−−−−−−−v
{[key: string]: any}
Key of all properties is any string −−−−−^^^^^^^^^^^^^ ^^^−−−−− type of all
properties is `any`