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

TypeScript联合类型场景下TS2322构造函数类型不匹配问题求助

TS2322错误原因分析

这个错误的核心是TypeScript中函数参数的逆变特性,具体到代码里:

  • 你定义的sheetType是构造函数类型,要求它能接受U | U[]类型的参数——意味着这个构造函数必须同时能处理U和U[]两种输入。
  • 但SingleModel的构造函数仅接受U类型参数,传入U[]会触发类型错误;同理,MultiModel的构造函数仅接受U[]类型参数,传入U也会报错。
  • 函数参数遵循逆变规则:当需要一个能接受A | B的函数时,传入的函数必须能接受A并且能接受B,而非只兼容其中一种类型。因此SingleModel和MultiModel的构造函数都不符合sheetType的要求,导致TS2322类型不匹配错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:30:53