我的日常工作是使用 AngularJS 的客户端开发人员。我们正在评估是否要使用 TypeScript。我对 typescript 做了一些研究,几乎我需要的每个 JavaScript 包都必须有定义类型文件。我发现这不是很方便,特别是如果我想尝试一些新的东西并且他们没有定义。真是令人沮丧。(如果我想使用 typescript 1.5 beta,即使是当前的 jQuery 定义也会给我带来一些问题)。我开始研究 ES6,它看起来类似于 TypeScript。我应该改用 ES6 吗?另外,我听说 Angular 2 将完全支持 TypeScript,这是我应该继续使用它的原因之一吗?
我已经在我当前的 Angular 项目中使用 Typescript 大约一年半了,虽然时不时地存在一些定义问题,但 DefinitiveTyped项目在跟上最流行库的最新版本方面做得非常出色。
话虽如此,从 vanilla JavaScript 过渡到 TS 有一个明确的学习曲线,你应该考虑到你和你的团队进行这种过渡的能力。此外,如果您要使用 angular 1.x,您将在网上找到的大多数示例都需要您将它们从 JS 翻译成 TS,总体而言,目前并没有太多关于同时使用 TS 和 angular 1.x 的资源.
如果您打算使用 Angular 2,那么有很多使用 TS 的示例,我认为团队将继续提供 TS 中的大部分文档,但您当然不必使用 TS 来使用 Angular 2。
ES6 确实有一些不错的特性,我个人计划更熟悉它,但我现在不认为它是一种生产就绪语言。主要是由于当前浏览器缺乏支持。当然,您可以在 ES6 中编写代码并使用转译器将其转换为 ES5,这似乎是目前流行的做法。
总的来说,我认为答案将归结为您和您的团队学习的舒适度。我个人认为 TS 和 ES6 都会有很好的支持和长期的未来,但我更喜欢 TS,因为你倾向于更快地获得语言特性,而且现在工具支持(在我看来)更好一些。