类型参数类的Typescript泛型约束

时间:2015-11-05 22:39:51

标签: typescript type-constraints

如何对TypeScript类型参数设置约束。在c#中,您可以使用构造{ where T:class}

1 个答案:

答案 0 :(得分:3)

  

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中的类型是结构的(why),这意味着类和接口的处理方式与泛型约束相同。