最近,小编读了一篇名为《放弃 TypeScript 的 7 个非常好的理由》,这篇文章的阅读量不低。里面有些观点确实有趣,不过在这里我要向你介绍使用 TypeScript 的 10 个理由。
TypeScript 降低代码出错的风险
开发人员写 BUG 是很自然的事情。几乎有一半的时间,我们都是在查找程序出错的原因。在 JavaScript 中,原因可能只是简单如类型错误。例如,将数值赋值给字符串变量,这个操作在 JavaScript 中没问题,但在 TypeScript 中会编译失败。JavaScript 开发人员已经被这种问题困扰很久了,甚至引入严格模式(Strict mode)来减少这种错误。
使用 TypeScript,上面的代码是无法编译的,不会出现在最终的代码库中。而使用 JavaScript 则不然。即便 TypeScript 无法避免运行时类型错误,但依然可以有效地降低这种风险。
快速失败原则
在代码可正常运行之前,TypeScript 引入了一个新的强制性步骤:将代码转换为 JavaScript。在编写新代码时,这个步骤每天也可能会失败很多次。而非静态类型的语言会将失败和错误检测延迟到运行时。可空类型对于任何现代语言都非常重要,它有助于扩展代码。
Adrian Colyer 在 2017 年写了一篇非常有趣的文章:量化 JavaScript 中可检测的错误。在文章的结尾,你可以找到一个有趣的实验结果,Eric 调查了 JavaScript 工程中公开的 400 个 BUG,通过使用 TypeScript 或者 Flow,可以有效捕获其中的 59 个,而不会出现在生产环境中。注意&#