迁移到角度2 - ES6或TypeScript?

时间:2016-10-17 14:52:27

标签: oop angular typescript functional-programming ecmascript-6

我的公司正考虑从角度1.5.x升级到角度2.代码库是用ES5编写的,因此转向ES6或TypeScript也在讨论中。

TypeScript在基本JavaScript上添加了一些OOP功能,因为当前代码更多的是函数式编程方法,而不是使用OOP样式(类等),我想知道在迁移到JS时从JS切换到TS的其他好处是什么?角2?

角度2中有多少OOP?

1 个答案:

答案 0 :(得分:2)

打字稿并不是关于OOP的。 OOP与类型正交(认为Java与Smalltalk)。 Typescript是关于静态类型验证:你是否使用了一个你认为你正在使用数组的字符串?我实际上是在上周五修改了同事代码中的一个错误,他在那里使用for循环超过了他认为是数组的长度(Array.prototype.forEach使得一个容易找到的错误)。

静态类型检查值得在代码库中添加类型注释吗?这是一个判断电话。

另一方面,ES6 / ESNext只是提供了更好的编写代码的方法。我不知道有谁可以提出这个论点

function(arr) {
  var foo = arr[0];
  var bar = arr[1];
  return foo + bar;
}

优于

([foo, bar]) => foo + bar

对于许多其他功能也是如此,如果你用函数式编写,你的代码库(比如我的)可能会被充斥着

Object.keys(someObj)
  .map(k => someObj[k])
  .filter...

现在你只有Object.values。加上大约一百万个其他功能。