在新语句(类型脚本)中声明类型?

时间:2019-02-21 07:36:00

标签: typescript

代码:

new Klass<number>()

<number>部分是什么意思?它是第一个构造函数参数的类型吗?

1 个答案:

答案 0 :(得分:5)

这是一个generic类型的参数。泛型允许您在设计类或函数时将某些类型的绑定保持打开状态,以便稍后进行定义。例如,Klass可以这样定义:

class Klass<T> {
   data: T;
}

在这种情况下,类成员data具有泛型类型T,这是类内的开放类型。像这样使用:

const instance = new Klass<number>();
instance.data = 123;   // valid;
instance.data = "123"; // error

因为instance的类型为Klass<number>,所以类型参数T绑定到类型参数number,因此instance.data的类型为{ {1}}。