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

为何Deno运行TypeScript代码时不检测函数类型错误?

问题原因解析

核心原因是Deno 默认运行 TypeScript 时不执行静态类型检查,而 tsc 和 IDE 会严格做类型校验,两者的行为差异导致了这个结果:

  • tsc 与 IDE 的行为:它们基于 TypeScript 的静态类型系统工作,在编译/编码阶段就会检测到 add 函数要求传入两个 number 类型参数,但你传入了字符串 '2' 和数字 10,属于类型不匹配,因此抛出错误。

  • Deno 默认运行行为:deno run 默认仅将 TypeScript 代码转译为 JavaScript 后直接执行,跳过了 TypeScript 的静态类型检查步骤。此时代码会按照 JavaScript 的规则运行:字符串与数字相加时,JavaScript 会将数字隐式转换为字符串,执行拼接操作,所以 '2' + 10 得到结果 '210'(你看到的输出 210 可能是控制台显示时的格式问题,实际为字符串类型)。

如果想要让 Deno 执行类型检查,只需在运行时添加 --check 参数:

deno run --check index.ts

此时 Deno 就会检测到类型不匹配的错误,和 tsc、IDE 的表现一致。

内容的提问来源于stack exchange,提问作者Aditya Mayukh Som

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 08:22:08