我有以下定义:
interface A {
new ({a, b?, c});
}
由于可选的b参数:
,编译失败error TS1005: ',' expected.
error TS1180: Property destructuring pattern expected.
删除?让它编译。</ p>
如何在不将展开对象提取到其他类型的情况下表达可选参数?
答案 0 :(得分:1)
您所拥有的内容并未描述a
,b
和c
的类型。
您应该注意到它们都被键入为any
。
要指定其类型,您需要输入类型信息,例如
interface A {
new ({a, b, c}: { a: string, b?: string, c: string});
}
您可以指定b
是可选的。