typescript - 如何使用局部变量引用类实例?
问题描述
class A {
x = 1;
};
let B = A;
function C(arg1: B){
arg1.x
};
[at-loader] ./src/syntax/colletion-range.ts:10:18 TS2749 中的错误:“B”指的是一个值,但在此处用作类型。
解决方案
使用变量给类构造函数起别名不会同时给类型起别名。声明一个类会产生一个值(构造函数)和一个类型(类的实例类型)。
您也可以定义类型:
let B = A;
type B = A;
B
您还可以获取存储在using中的类的类型,typeof B
然后使用以下方式获取实例类型InstanceType
:
class A {
x = 1;
};
let B = A;
function C(arg1: InstanceType<typeof B>){
arg1.x
};
推荐阅读
- python - Pyqt 表格点击动作错误:(原生 Qt 信号不可调用)
- java - 如何在不更新或创建根节点的情况下通过 oData 创建新的子节点实体
- node.js - 如何在nodejs中发布后执行get?
- amazon-web-services - AWS Redshift 清除策略自动化
- c# - 使用 X509Certificate2 密钥的 RSA 加密
- php - pregmatch 在href中获取文本
- sql-server - SQL Server 数据更改跟踪并显示给定时间内的数据状态
- angular - Angular routerLink 相对导航没有矩阵参数
- forms - 如何在 Symfony 4 中将表单的错误转换为字符串?
- xaml - XamarinForms 中的 UWP 流畅设计