比较ES6(编译为ES5)与CoffeeScript与TypeScript的功能

时间:2015-04-21 06:12:56

标签: javascript coffeescript ecmascript-6

我们将在JavaScript上使用前端启动新项目

但JS(ES5)的当前状态并不酷,它错过了许多很酷的功能,因此现在我们决定选择什么:

1)在CoffeeScript中编写代码并编译它

2)在ES6中编写代码并使用https://babeljs.io/

进行编译

3)在TypeScript中编写代码并编译它

有什么建议吗?优点/缺点?

1 个答案:

答案 0 :(得分:2)

几乎不可能说哪个更好.CoffeeScript和ES6非常相似

CoffeeScript和ES6都有

  • 字符串插值

  • 胖箭

  • 函数默认参数

  • Variadic功能

  • 解构

  • 提示图标

CoffeeScript:

  • 赞成

您可以在Class

中轻松设置实例变量
class Person
  constructor : (@name,@age) ->

您可以在没有括号的情况下调用函数。

John = new Person "John",20
  • 缺点

因为CoffeeScript没有var,所以每当你想定义新变量时,你必须经常仔细检查名称是否已经在外部范围内定义。这有时会带来很大的问题。 / p>

variableA = 123
doSomething = ->
  # You want to declare inner variable but Since same name's already exist,
  #it's gonna be substitution instead.
  variableA = "hello"
  return variableA

ES6:

  • 赞成

ES6 Class有setter / getter

  • 缺点

它还没有得到完全的支持。所以你必须时刻担心你能做的事情以及什么时候能做到。