CoffeeScript是一套JavaScript的转译语言,创建者 Jeremy Ashkenas 戏称它是- JavaScript 的不那么铺张的小兄弟。因为 CoffeeScript 会将类似 Ruby 语法的代码编译成 JavaScript,而且大部分结构都相似,但不同的是 CoffeeScript 拥有更严格的语法。
语法:从 Lisp 系重生CoffeeScript打蛇打到七寸了. 它的最大功绩, 就是将 JavaScript 硬绑的 C/Java 语法抛弃了; 改为采用类似 Ruby/Python 的语法. Ruby/Python 本来就是深受 Lisp 影响的, 和 JavaScript 算是同门师兄, 他们的语法经过了实践考验, 是更适合函数式+动态语言内核的.
Good Parts:CoffeeScript 只使用了 JavaScript 的 ”Good Parts(精粹)”, 抛弃了原来 JavaScript 晦涩的,容易出问题的那部分东西. 比如,全局变量声明, with 等.
语法糖和 ECMAScript:CoffeeScript 提供了很多语法糖, 让代码更优雅可读. 去主页仔细看看 CoffeeScript 的语法清单, 就会发现边边角角到处是创新. 这让编程语言真的成了开发者的朋友, 而不是机器的朋友.
CoffeeScript 还提供了一个机会, 让你现在就可以使用 ECMAScript 里面的特性. 将来有个更多新特性, CoffeeScript 也有机会在浏览器支持之前实现它们. 程序员面对的是 CoffeeScript 的优雅接口, 它是程序员和JavaScript 之间的中间层, 脏活累活它都干了.
CoffeeScript 构建在 JavaScript 上层, 这让人联想起 .Net 和 C#/F#/VB… , 以及 JVM 和 Java/JRuby/Scala…
在 JavaScript 上层做事情的, 不只 CoffeeScript, 还有很多其他的. 比如 Lua 就有通过 LLVM 转换成JavaScript 的实现. 前段时间的 JavaScript PC 模拟器也证明了这种思路的威力.
也许 JavaScript 就是下一个 JVM, 上面会有最适用于各种场景的各种语言. 很多人盼望 JavaScript 成为为未来的唯一语言, 看起来这是不切实际的幻想了.
1