代码:
new Klass<number>()
<number>
部分是什么意思?它是第一个构造函数参数的类型吗?
答案 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}}。