TypeScript中类型参数类的泛型约束

6

如何在TypeScript类型参数上设置约束?在C#中,您可以使用构造{ where T:class },该怎么做呢?


请看这里 - Pajdziu
这对我来说似乎是一个有效的问题,答案恰好是.NET / Java等人在TypeScript中期望的。投票重新打开。 - Alexei - check Codidact
同意@Alexei的观点。不知道为什么这个问题被关闭了,作为一个要求外部资源的问题(而且还是一致的)。 - jhpratt
1个回答

5

Typescript是否支持类似于C#中的类型参数约束{ where T:class}。

是的。语法形式为<T extends SomeClass>,而不是<T>

示例

interface Foo{
    foo: number;
}

function foo<T extends Foo>(foo:T){
    console.log(foo.foo);
}

foo({foo:123}); // okay
foo({foo:'123'}); // Error

请注意,TypeScript 中的类型是结构化的(原因),这意味着在泛型限制方面,类和接口被处理的方式相同。

感谢Basarat的回答,之前看过你的收藏和在线资源,非常有帮助。再次感谢你的帮助。大多数类都是从一个名为Entity的类派生而来,你的建议将节省我很多时间。 - Tarhuna Em

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接