CoffeeScript是一套ECMAScript的轉譯語言,創建者 Jeremy Ashkenas 戲稱它是- JavaScript 的不那么鋪張的小兄弟。因為 CoffeeScript 會將類似 Ruby 語法的代碼編譯成 JavaScript,而且大部分結構都相似,但不同的是 CoffeeScript 擁有更嚴格的語法。
歷史
2009 年 12 月 24 日, CoffeeScript 版本 0.0.1 被提交.
2010 年 12 月 24 日, CoffeeScript 發布 1.0.0 穩定版.
2015 年 9 月 3 日,CoffeeScript 發布 1.10.0 穩定版
功能
語法:從 LISP 系重生CoffeeScript打蛇打到七寸了. 它的最大功績, 就是將 ECMAScript 硬綁的 C/Java 語法拋棄了; 改為采用類似 Ruby/Python 的語法. Ruby/Python 本來就是深受 Lisp 影響的, 和 JavaScript 算是同門師兄, 他們的語法經過了實踐考驗, 是更適合函數式+動態語言內核的.
Good Parts:CoffeeScript 只使用了 JavaScript 的”Good Parts(精粹)”, 拋棄了原來 JavaScript 晦澀的,容易出問題的那部分東西. 比如,全局變量聲明, with 等.
語法糖和 ECMAScript:CoffeeScript 提供了很多語法糖, 讓代碼更優雅可讀. 去主頁仔細看看 CoffeeScript 的語法清單, 就會發現邊邊角角到處是創新. 這讓編程語言真的成了開發者的朋友, 而不是機器的朋友.
CoffeeScript 還提供了一個機會, 讓你現在就可以使用 ECMAScript 里面的特性. 將來有個更多新特性, CoffeeScript 也有機會在瀏覽器支持之前實現它們. 程序員面對的是 CoffeeScript 的優雅接口, 它是程序員和ECMAScript 之間的中間層, 臟活累活它都干了.
發展
CoffeeScript 構建在 JavaScript 上層, 這讓人聯想起 .Net 和 C?/F?/VB… , 以及 JavaOS 和 Java/JRuby/Scala…
在 JavaScript 上層做事情的, 不只 CoffeeScript, 還有很多其他的. 比如 Lua 就有通過 LLVM 轉換成JavaScript 的實現. 前段時間的 JavaScript PC 模擬器也證明了這種思路的威力.
也許 ECMAScript 就是下一個 JVM, 上面會有最適用于各種場景的各種語言. 很多人盼望 JavaScript 成為為未來的唯一語言, 看起來這是不切實際的幻想了.
代碼展示
官方網站展示的代碼:
參考資料 >
CoffeeScript Change Log.CoffeeScript.2016-09-23
CoffeeScript 中文首頁.CoffeeScript 中文首頁.2014-05-06