首页 > 解决方案 > 如果使用“null”值初始化,为什么打字稿将用“let”定义的变量的值类型推断为“any”?

问题描述

let value = null; // why infered as "any"?

如果使用“null”值初始化,为什么打字稿将用“let”定义的变量的值类型推断为“any”?这样做的目的是什么?

标签: typescript

解决方案


来自TypeScript 2.0 文档

类型检查器以前认为 null 和 undefined 可以分配给任何东西。实际上,null 和 undefined 是每种类型的有效值,不可能专门排除它们(因此无法检测到它们的错误使用)。


推荐阅读