TypeScript类型参数占位符报错‘Cannot find name '_'’求助
TypeScript 5.5中类型参数占位符
_报错的原因 TypeScript 5.2引入的类型参数占位符_,在后续版本(包括5.5)中被移除了,取而代之的是更简洁的部分类型参数推断语法,或使用unknown作为临时占位符。
你之前用的f<_, _, 1>("", [], 1)写法在5.5中报错,是因为_不再被识别为特殊的类型占位符,编译器会将其视为未定义的普通变量,因此抛出“Cannot find name '_'”的错误。
正确的替代写法有两种:
- 利用部分类型参数推断(TypeScript 5.3及以上支持):直接省略需要推断的类型参数位置,只指定要固定的类型,写法为
f<,,1>("", [], 1),编译器会自动根据传入的参数推断出A为string、B为any[]。 - 显式使用
unknown占位:如果需要明确写出占位位置,可以写成f<unknown, unknown, 1>("", [], 1),效果和原写法一致。
内容的提问来源于stack exchange,提问作者Alphasaft
相关产品推荐
相关产品推荐

