Closed. This question is opinion-based。它当前不接受答案。
                            
                        
                    
                
                            
                                
                
                        
                            
                        
                    
                        
                            想改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
                        
                        4年前关闭。
                                                                                            
                
        
我们将使用JavaScript的前端开始新项目

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

1)用CoffeeScript编写代码并进行编译

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

3)用TypeScript编写代码并进行编译

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

最佳答案

很难说哪个更好.CoffeeScript和ES6真的很像

CoffeeScript和ES6都有


班级
字符串插值
胖箭头
函数默认参数
可变函数
解构
摔得痛


CoffeeScript:


优点


您可以在Class中轻松设置实例变量

class Person
  constructor : (@name,@age) ->


您可以不带括号地调用函数。

John = new Person "John",20



缺点


由于CoffeeScript没有var,因此无论何时要定义新变量,都必须始终仔细检查该名称是否已在外部范围定义。这有时会带来很大的问题。

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类具有设置器/获取器


缺点


还没有完全支持它,因此您必须始终担心无法做到的事情以及何时能够做到。

关于javascript - 比较ES6(编译为ES5),CoffeeScript和TypeScript的功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29764267/

10-13 09:47