我有一些类似以下的代码,我想确定TypeScript为表达式推断的类型:
var timer = window.setTimeout(...);
/* QUESTION: What is the inferred type of "timer" here? */
当我将mypy类型检查器用于Python时,可以将特殊表达式reveal_type(my_expression)
插入代码中,以使类型检查器打印出包含表达式my_expression
的推断类型的假错误。
有没有办法让TypeScript tsc
类型检查器提供有关表达式的推断类型的类似信息?
答案 0 :(得分:3)
我不知道 reveal_type
的等效项,但您可以强制进行无效分配并检查产生的错误消息。分配给 never 总是失败1,所以在你的例子中:
var timer = window.setTimeout(...);
const revealType : never = timer;
应该导致编译器打印:
Type 'number' is not assignable to type 'never'
1 除非您正在检查的类型也是 never