【发布时间】:2017-02-26 15:01:21
【问题描述】:
我的公司正在考虑从 angular 1.5.x 升级到 angular 2。代码库是用 ES5 编写的,因此迁移到 ES6 或 TypeScript 也在讨论中。
TypeScript 在基本 JavaScript 的基础上添加了一些 OOP 功能,并且由于当前代码更多地是一种函数式编程方法,而不是使用 OOP 样式(类等),我想知道从 JS 迁移到 TS 时还有什么其他好处角2?
angular 2 中有多少 OOP?
【问题讨论】:
-
您的问题就像问要使用哪个 IDE。 ES6 或 TS 是您的团队需要做出的选择。事实上,TS 是 ES5 的超集,具有 ES6 的特性。所以你可以在 ES6 中做的所有事情,你可能也可以在 TS 中做——但反过来就不行了。关于 OOP:组件、指令和服务现在都是类。
-
angular2 的事实上的标准语言是 TypeScript。该框架是用 TS 编写的,文档默认是用 TypeScript 编写的,而且代码在 TS 中更易于维护和编写。只需使用 TypeScript,真的很容易。
-
不清楚你是打算使用原生 ES6 还是用 Babel 转译。在最后一种情况下,您不仅限于 ES6,还可以使用 ES.next 功能集(这与 TS 中的 OOP 方式或多或少相同)。 A2 依赖注入在设计时考虑了 TS,它允许在大多数情况下跳过
@Inject装饰器和this.injectedService = injectedService,这是 TS 在 A2 开发环境中的主要好处。对于 ES5/ES6 与 ES.next,see this answer.
标签: oop angular typescript functional-programming ecmascript-6