cjs*_*ker 282 angularjs typescript ecmascript-6
我的日常工作是使用AngularJS的客户开发人员.我们正在评估是否要使用TypeScript.我对typescript做了一些研究,几乎每个我需要的JavaScript包都必须有定义类型文件.我发现这不是很方便,特别是如果我想尝试新的东西,他们没有它的定义.它真的很令人沮丧.(即使是当前的jQuery定义也会给我一些问题,如果我想使用typescript 1.5 beta).我开始关注ES6,它看起来与TypeScript类似.我应该只使用ES6吗?另外,我听说angular 2将完全支持TypeScript,这是我应该坚持下去的一个原因吗?
Bro*_*cco 658
ES5,ES6和TypeScript之间的决策树
你介意做一个构建步骤吗?
你想使用类型吗?
ES5是您今天在浏览器中使用的JavaScript,它就是它的本质,并且不需要构建步骤将其转换为将在今天的浏览器中运行的内容
ES6(也称为ES2015)是JavaScript的下一个版本,但它不能在今天的浏览器中运行.有很多转发器会导出ES5以便在浏览器中运行.它仍然是一种动态(读取:无类型)语言.
TypeScript提供了一个可选的打字系统,同时从未来版本的JavaScript(ES6和ES7)中提取功能.
注意:很多转换器(即babel,TypeScript)将允许您使用今天的JavaScript未来版本的功能,并导出仍将在今天的浏览器中运行的代码.
Ken*_*per 113
我一直在当前的角度项目中使用Typescript大约一年半,虽然定义中存在一些问题但是DefinitelyTyped项目在跟上最流行的库的最新版本方面做得非常出色.
说过从vanilla JavaScript转换到TS时有一定的学习曲线,你应该考虑到你和你的团队进行转换的能力.此外,如果您要使用角度1.x,您将在网上找到的大部分示例都需要您将它们从JS转换为TS,总体而言,目前使用TS和angular 1.x的资源并不多. .
如果您计划使用角度2,那么有许多使用TS的示例,我认为团队将继续提供TS中的大部分文档,但您当然不必使用TS来使用角度2.
ES6确实有一些不错的功能,我个人计划更熟悉它,但我不认为它是一种生产就绪的语言.主要是由于当前浏览器缺乏支持.有关详细信息,请参阅此 SO答案.当然,您可以在ES6中编写代码并使用转换器将其转换为ES5,这似乎是目前最受欢迎的事情.
总的来说,我认为答案可归结为您和您的团队所熟悉的内容.我个人认为TS和ES6都有很好的支持和长期的期待,我更喜欢TS,因为你倾向于更快地获得语言功能,而且现在工具支持(在我看来)更好一些.
归档时间: |
|
查看次数: |
113600 次 |
最近记录: |