TypeScript vs JavaScript 之争:开发者们尚未达成共识
2019年,在TypeScript首次公开发布七年后,关于是否应在Web开发中使用静态类型化的讨论达到了新的热度。根据 Stack Overflow Developer Survey 2019 的调查,TypeScript 跻身最受欢迎编程语言前五名,获得了73.1%的正面评价。然而,其主要竞争对手 JavaScript 仍然是使用最广泛的语言(67.8%的受访者)。
“TypeScript 不是 JavaScript 的替代品,而是它的超集,它能让代码更可预测、更安全,尤其是在大型项目中,” Andrey Sitnik,EPAM Systems 公司的首席开发者,在圣彼得堡举行的 HolyJS 2019 会议上表示。“我们将 TypeScript 引入了一个拥有20万行代码的项目,在头三个月内,与类型相关的错误数量就减少了40%。”
然而,并非所有人都认同这种热情。John Resig,jQuery 的创造者,在他的博客中指出:“TypeScript 在本来可以避免的地方增加了复杂性。对于小型团队和原型开发,带有 JSDoc 注释的 JavaScript 往往就足够了”。批评者还指出了需要额外配置(tsconfig.json)以及编译时间可能拖慢开发周期的问题。
根据 GitHub Octoverse 2019 的数据,TypeScript 的拉取请求数量相比2018年增长了93%,使用该语言的仓库数量翻了一番。与此同时,JavaScript 在总体代码量上仍然是绝对领先者。有趣的是,Google Trends 显示,“TypeScript vs JavaScript”的搜索量在2019年出现了稳定增长,这证实了该话题的高关注度。
专家们一致认为,在 TypeScript 和 JavaScript 之间做出选择取决于具体情况。“如果你正在编写一个将被数千名开发者使用的库——那么 TypeScript 是必须的。如果你正在制作一个着陆页或一个小脚本——那就从 JavaScript 开始”,来自 Google 的工程师Michael Chan在 JSConf EU 2019 上的演讲中总结道。
在社区尚未达成共识之际,有一点是显而易见的:TypeScript 已经在企业级开发中稳固地占据了一席之地,而 JavaScript 仍然是为快速灵活工作而生的通用工具。选择哪条路——完全取决于你。