You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

TypeScript中如何为类赋予不同类型别名并兼具类型与构造函数特性

TypeScript 类别名兼具构造函数与类型功能的实现

要让XExport同时作为可实例化的构造函数和类型使用,你可以利用TypeScript对同名类型与值的合并支持,分别导出类型别名和构造函数实例:

class XReal { foo() { return 5 } }
declare class XFake { bar(): number }

// 导出类型:将XFake映射为XExport
export type XExport = XFake;
// 导出构造函数:将XReal断言为XFake的构造函数类型
export const XExport = XReal as unknown as typeof XFake;

// 两种用法均生效
declare const c: XExport; // 作为类型使用
const ci = new XExport(); // 作为构造函数实例化

核心要点

  • TypeScript允许同一导出名下同时存在类型和值,外部使用时无需区分,直接用XExport即可
  • 用unknown作为中间断言比any更严谨,避免不必要的类型放宽
  • 运行时实际执行的是XReal的逻辑,但类型校验完全遵循XFake的定义

内容的提问来源于stack exchange,提问作者Jason Siefken

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 19:38:10