我的日常工作是使用 AngularJS 进行客户端开发。我们正在评估是否要使用 TypeScript。我对 typescript 做了一些研究,几乎我需要的每个 JavaScript 包都必须有定义类型文件。我发现这不是很方便,特别是如果我想尝试一些新的东西而他们没有它的定义。真令人沮丧。 (如果我想使用 typescript 1.5 beta,即使是当前的 jQuery 定义也会给我带来一些问题)。我开始研究 ES6,它看起来类似于 TypeScript。我应该改用 ES6 吗?另外,我听说 angular 2 将完全支持 TypeScript,这是我应该继续使用它的原因之一吗?
ES5、ES6 和 TypeScript 之间的决策树
Do you mind having a build step?
Do you want to use types?
- 是 - 使用 TypeScript
- 否 - 使用 ES6
更多详情
ES5 是您今天在浏览器中了解和使用的 JavaScript,它就是这样,不需要构建步骤即可将其转换为可在当今浏览器中运行的东西
ES6(也称为 ES2015)是 JavaScript 的下一个迭代,但它不能在当今的浏览器中运行。有相当多的转译器将导出 ES5 以便在浏览器中运行。它仍然是一种动态(阅读:无类型)语言。
TypeScript 提供可选的类型系统,同时从 future 版本的 JavaScript(ES6 和 ES7)中提取功能。
注意:许多转译器(即 babel、TypeScript)将允许您使用今天 JavaScript future 版本的功能,并导出仍将在今天的浏览器中运行的代码。