是否可以在构造函数调用中使用泛型而不使用类似参数中的类型,或者是否有其他方法可以执行此操作?
type PersonProps = {
name: string,
}
class Model<P> {
label: string;
constructor(label: string) {
this.label = label;
}
create(props: P): Promise<any> { ... }
}
const Person = new Model<PersonProps>('Person');
编辑:
我在Visual Studio代码中遇到以下流错误,根本没有自动完成结果:
test.js:11
11: const Person = new Model<PersonProps>('Person');
^^^^^^^^^^^^^^^^^^^^^ boolean. This type cannot be compared to
11: const Person = new Model<PersonProps>('Person');
^^^^^^^^ string
test.js:11
11: const Person = new Model<PersonProps>('Person');
^^^^^^^^^^^ PersonProps. type referenced from value position
5: type PersonProps = {
^^^^^^^^^^^ type PersonProps
答案 0 :(得分:1)
您不需要(实际上不能)在那里指定类型参数:
const Person = new Model('Person');
如果要为Person
变量指定类型参数的完整类型,可以添加类型注释:
const Person: Model<PersonProps> = new Model('Person');
您看到的错误是由于<
和>
字符解析为&#34;小于&#34;并且&#34;大于&#34;在那种情况下。