在 TypeScript(我的版本:2.1.1)中,可以为类型参数设置上限,如下所示:
class Animal {}
class Cat extends Animal {}
class Kitten extends Cat{}
function foo<A extends Animal>(a: A) { /* */ }
如何设置下限A
?以下代码不起作用:
class Animal {}
class Cat extends Animal {}
class Kitten extends Cat{}
function foo<A super Kitten>(a: A) { /* */ }
它会导致编译错误。
GitHub 问题中的人员#13337TypeScript 存储库的建议使用
function foo <X extends Y, Y>(y: Y) { /* */ }
至下界Y
with X
。但这不包括我的情况,其中X
是实际类型而不是类型参数。
关于如何下限类型参数有什么想法吗?
TypeScript 尚不支持泛型的下界。目前正在讨论此类建议 - TypeScript 开发人员不确定此类功能是否必要。因此,我们只能等待并希望他们同意实施。
请在此处查看 TypeScript 问题跟踪器中的问题 -https://github.com/Microsoft/TypeScript/issues/14520
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)