CoffeeScript

CoffeeScript

CoffeeScript是一套JavaScript的轉譯語言,創建者 Jeremy Ashkenas 戲稱它是- JavaScript 的不那么鋪張的小兄弟。因為 CoffeeScript 會將類似 Ruby 語法的代碼編譯成 JavaScript,而且大部分結構都相似,但不同的是 CoffeeScript 擁有更嚴格的語法。

基本介紹

  • 外文名:CoffeeScript
  • 提交時間:2009 年 12 月 24 日
  • 發布時間:2010 年 12 月 24 日
  • 性質JavaScript的轉譯語言
歷史,功能,發展,代碼展示,

歷史

2009 年 12 月 24 日, CoffeeScript 版本 0.0.1 被提交.
2010 年 12 月 24 日, CoffeeScript 發布 1.0.0 穩定版.
2015 年 9 月 3 日,CoffeeScript 發布 1.10.0 穩定版

功能

語法:從 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 成為為未來的唯一語言, 看起來這是不切實際的幻想了.

代碼展示

官方網站展示的代碼:
#賦值:number=42opposite=true#條件:number=-42 if opposite#函式:square=(x)->x*x#數組:list=[1,2,3,4,5]#對象:math=root:Math.sqrtsquare:squarecube:(x)->x*squarex#Splats:race=(winner,runners...)->print winner,runners#存在性:alert"I knew it!" if elvis?#數組推導(comprehensions):cubes=(math.cube num for num in list)

相關詞條

熱門詞條

聯絡我們