class A {
x = 1;
};
let B = A;
function C(arg1: B){
arg1.x
};
[加载器]中的错误。/src/语法/colletion-range.ts:10:18 TS2749:“ B”指的是一个值,但此处被用作类型。
答案 0 :(得分:1)
使用变量来别名化类构造函数也不会别名该类型。声明一个类会同时产生一个值(构造函数)和一个类型(该类的实例类型)。
您也可以定义类型:
let B = A;
type B = A;
您还可以使用B
获取存储在typeof B
中的类的类型,然后使用InstanceType
获取实例类型:
class A {
x = 1;
};
let B = A;
function C(arg1: InstanceType<typeof B>){
arg1.x
};