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

如何解决TypeScript报错Object is of type 'unknown'及error类型变为unknown的问题

该变更为TypeScript 4.4版本正式引入的默认规则调整:开启strict模式时,catch语句捕获的error变量默认类型从any改为unknown,对应编译选项为useUnknownInCatchVariables。

可选择的回退方案

  • 全局回退变更
    在项目根目录的tsconfig.json中,找到compilerOptions节点,添加如下配置:
"useUnknownInCatchVariables": false

配置保存后重新编译项目,所有catch块的error类型会直接回退为any,对应报错全部消除。

  • 局部修复指定报错
    如果不希望全局调整规则,仅需要修复个别报错,可在catch语句中手动标注error类型:
try {
  // 原有业务代码
} catch (err: any) {
  // 原有错误处理逻辑不需要修改
  console.log(err.message)
}
  • 锁定TypeScript版本
    如果是依赖自动升级导致的版本迭代触发该问题,可以直接在package.json中固定TypeScript版本到4.3.x及以下:
"devDependencies": {
  "typescript": "~4.3.5"
}

修改后重新执行依赖安装即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 19:15:05