Java' ? extends MyClass
的TypeScript等价物是什么?
我可以这样效仿:
function myFunc <TComponent extends MyBaseClass>(param: ComponentFixture<TComponent>) {}
但有没有办法将其缩短为:
function myFunc(param: ComponentFixture<? extends MyBaseClass>) {} // causes error TS1138: Parameter declaration expected
也许这还没有实现?
还是有另一种语法吗?
或者有理由不支持这个?
答案 0 :(得分:0)
您可以将通用类型的默认值设置为MyBaseClass
中的ComponentFixture
:
type ComponentFixture<TComponent extends MyBaseClass=MyBaseClass> = {...}
function myFunc (param: ComponentFixture) {}
这样,如果您在<>
打字稿中未提供任何通用参数,则会退回到默认类型MyBaseClass
。
答案 1 :(得分:-1)
目前,TypeScript中没有这样的语法。 随意向TypeScript团队推荐。
但即使他们同意我也会猜测,这将是一个非常低的优先级。