当前位置: 首页 > 面试题库 >

我应该使用打字稿吗?或者我可以只使用ES6?

百里沛
2023-03-14
问题内容

我的日常工作是使用AngularJS进行客户开发。我们正在评估是否要使用TypeScript。我对Typescript进行了一些研究,几乎我需要的每个JavaScript包都必须具有定义类型文件。我发现这不是很方便,特别是如果我想尝试新的东西并且他们没有它的定义时。真令人沮丧。(即使当前的jQuery定义也给我一些问题,如果我想使用Typescript1.5 beta)。我开始研究ES6,它看起来与TypeScript类似。我应该只使用ES6吗?另外,我听说angular2将完全支持TypeScript,这是我应该坚持使用它的原因之一吗?


问题答案:

我在当前的角度项目中使用Typescript已有大约一年半的时间,而现在每次定义都有一些问题,然后DefinitelyTyped项目在跟上大多数流行库的最新版本方面做得非常出色。

前面已经说过,从原始JavaScript过渡到TS时会有明确的学习曲线,您应该考虑自己和团队进行过渡的能力。另外,如果您要使用angular1.x,则在网上找到的大多数示例都需要您将它们从JS转换为TS,并且总体而言,目前并没有太多资源将TS和angular 1.x一起使用。

如果您打算使用angular 2,那么有很多使用TS的示例,我认为团队将继续提供TS中的大多数文档,但是您当然不必使用TS来使用angular 2。

ES6确实具有一些不错的功能,我个人计划对其进行更熟悉,但目前我不认为它是可用于生产的语言。主要是由于当前浏览器缺乏支持。当然,您可以在ES6中编写代码,并使用编译器将其升级到ES5,这似乎是现在很流行的事情。

总的来说,我认为答案将取决于您和您的团队对学习的舒适程度。我个人认为TS和ES6都将提供良好的支持和长远的前景,我更喜欢TS,尽管您倾向于更快地获得语言功能,并且现在工具支持(在我看来)要好一些。



 类似资料:
  • 问题内容: 我不知道该怎么办: 要么: 问题答案: 绝对更pythonic。 实际上已在Python 3.x中删除 。

  • 哈希集由哈希映射支持。从它的JavaDoc: 这个类实现了Set接口,由哈希表(实际上是一个HashMap实例)支持 在查看源时,我们还可以看到它们之间的关系: 因此,一个<code>哈希集 使用而不是,不是更有效吗?进一步考虑的是,如果环境允许使用而不是,我们是否应该完全放弃,直接使用。 触发这些想法的基本问题是以下情况:我有一组具有以下属性的对象: 大型对象集合 如何有效地检查集装箱? 我想到

  • 问题内容: 我正在为电子商务应用程序设计数据库/域,但很难弄清楚如何存储产品。 该网站将出售各种各样的产品,笔,丁字裤,纹身,雨伞等等。这些产品中的每一个将共享一些共同的属性,例如高度,宽度,长度,重量等,但是某些产品具有特殊的数据。例如,钢笔具有不同的墨水颜色,笔尖/笔盖和小册子可以具有不同类型的折痕。到目前为止,我已经考虑了20多个额外的属性,但是这些属性可能仅适用于网站上1%的产品。 因此,

  • 我应该只使用kryo吗?混合和匹配可以吗(就像我正在做的那样)?

  • 问题内容: 给定包含具有 品牌 属性的文档的索引,我们需要创建不区分大小写的术语聚合。 索引定义 请注意,使用 fielddata 数据 询问 结果 如果使用而不是,由于机壳的差异,我们最终要为纽约喷气机找到2个水桶。 我们担心使用字段数据会影响性能。但是,如果禁用了fielddata,我们将得到可怕的 “默认情况下在文本字段上禁用Fielddata”。 还有其他解决此问题的技巧-还是我们不应该太

  • 寻找Reactor调度程序的指导。 我想在后台运行某些IO任务,即向技术团队发送电子邮件。为了使其异步,我使用Mono。fromRunnable订阅了调度程序。 我可以选择使用 Schedulers.elastic() 或 Schedulers.newElastic()。我更喜欢后者,因为它允许我给它一个唯一的名称,这将有助于日志分析。 做一个静态变量可以吗? 在Mono上订阅它,而不是每次都要创