angularjs - 我应该使用 typescript 吗?或者我可以只使用 ES6?

标签 angularjs typescript ecmascript-6

<分区>

我的日常工作是使用 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?

  • 是 - 使用 ES5
  • 不 - 继续

Do you want to use types?

  • 是 - 使用 TypeScript
  • 否 - 使用 ES6

更多详情

ES5 是您今天在浏览器中了解和使用的 JavaScript,它就是这样,不需要构建步骤即可将其转换为可在当今浏览器中运行的东西

ES6(也称为 ES2015)是 JavaScript 的下一个迭代,但它不能在当今的浏览器中运行。有相当多的转译器将导出 ES5 以便在浏览器中运行。它仍然是一种动态(阅读:无类型)语言。

TypeScript 提供可选的类型系统,同时从 future 版本的 JavaScript(ES6 和 ES7)中提取功能。

注意:许多转译器(即 babel、TypeScript)将允许您使用今天 JavaScript future 版本的功能,并导出仍将在今天的浏览器中运行的代码。

关于angularjs - 我应该使用 typescript 吗?或者我可以只使用 ES6?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30807612/

相关文章:

ajax - Glimpse 未捕获 ajax 调用

css - Angularjs v1.3.15 - 页面加载时 Webkit 文本颜色渲染错误

node.js - 如何使用模块中的 Gulp : Error: Multiple anonymous System. 注册调用以 Angular 2 加载系统导入中的捆绑文件

jquery - 我怎么能在 jQuery 中做这些事情?

javascript - 在没有数字占位符的情况下在 JavaScript 中复制 C# 的 string.format()

javascript - 单元测试返回 TypeError : undefined is not a constructor error message

javascript - 在哪里可以找到reflect-metadata中使用的metadataKey值

angular - RxJS Observable with Subject,通过计时器轮询和 combineLatest 不会触发

javascript - 使用 Gulp + Karma + PhantomJS 构建 ES6 应用程序

javascript - 基于表达式的解构对象