无法将空对象设置为 Record 类型的参数的默认值
Posted
技术标签:
【中文标题】无法将空对象设置为 Record 类型的参数的默认值【英文标题】:Can't set empty object as default value for param with type Record 【发布时间】:2021-05-10 13:19:12 【问题描述】:type SimpleObject = Record<string, any>
<T extends SimpleObject>(param: T = ) => param
^^^^^^^^^^^^^
TS2322:类型“”不可分配给类型“T”。 “”可分配给“T”类型的约束,但“T”可以用约束“Record
【问题讨论】:
【参考方案1】:TypeScript 不知道T
的形状,它可能匹配也可能不匹配,所以你需要明确告诉你知道
是
T
,如下所述:
TS Playground link
type SimpleObject = Record<string, any>
<T extends SimpleObject>(param: T = as T) => param
【讨论】:
以上是关于无法将空对象设置为 Record 类型的参数的默认值的主要内容,如果未能解决你的问题,请参考以下文章