CoffeeScript 是一種程式語言,他的程式碼可以編譯成 JavaScript,其語言主要的目的在於讓程式撰寫者可以使用更簡單的方式撰寫 JavaScript。

CoffeeScript 的原則是:「它就是 JavaScript!」,也就是說每一段 CoffeeScript 程式碼都會被編譯成對應的 JavaScript 程式碼,所有的程式在執行時都已經被轉換為 JavaScript 了,不需要在執行時多花費 interpretation 的時間,並且 CoffeeScript 亦可以與現有的 JavaScript 函式庫緊密的結合。另外,其編譯出的程式碼也會自動排版,方便閱讀,而且其程式碼的執行效率通常也比直接撰寫的 JavaScript 高。


在 Ubuntu Linux 下要安裝 CoffeeScript 可以使用 apt:

sudo apt-get install coffeescript

裝好之後就可以開始使用了,CoffeeScript 的編譯器就叫做 coffee,他會將 .coffee 檔案編譯成 .js 檔,假設我們有一個 func.coffee 檔案,內容如下:

square = (x) -> x * x
cube   = (x) -> square(x) * x

要編譯這個檔案,就執行:

coffee -c func.coffee

這樣就會編譯出一個 func.js 檔,其檔案內容就是可以執行的 JavaScript:

(function() {
  var cube, square;
  square = function(x) {
    return x * x;
  };
  cube = function(x) {
    return square(x) * x;
  };
}).call(this);

這裡只簡單介紹 CoffeeScript 的概念,詳細的內容可以參考 CoffeeScript 的網站。以下還有一些提供線上免費閱讀的書籍可以參考。

CoffeeScript Ristretto

CoffeeScript-Ristretto

CoffeeScript Ristretto 這本書完整介紹 CoffeeScript 的各種功能,內容豐富且俱有深度,特別是針對函數的部分有比較多的解說,這本書適合的讀者有:

  • 不只是學習 CoffeeScript 的基本語法,還想要徹底了解 CoffeeScript 的人。
  • 已經在使用 CoffeeScript 程式語言、但是還想要更深入了解的人。
  • 學習更多關於函數在城市設計上的使用方法的人。

在這本書的網頁上,你可以看到它的售價,但是它也提供免費線上閱讀,由於整本書的內容並不是很多,大約 140 頁左右,個人認為看線上版的應該就可以了。

Smooth CoffeeScript

Smooth-CoffeeScript

Smooth CoffeeScript 是一本包含很多練習題的 CoffeeScript 入門書籍,可以讓你透過這些實際的練習快速學習 CoffeeScript。

在這本書的網頁上,你可以選擇以傳統的 PDFHTML 格式下載整本書,但是他還提供了一個更好的閱讀方式就是線上互動是閱讀(Interactive HTML5 Edition),這個版本可以讓你在瀏覽器中一邊閱讀書本的內容,一邊直接修改書中的範例程式碼,並且直接執行然後觀看結果,這樣可以免去複製與貼上範例程式碼的麻煩動作,讓學習更有效率。

The Little Book on CoffeeScript

oreilly-coffeescript

這本歐萊禮的 The Little Book on CoffeeScript 大概就不必介紹了吧,不過網頁上的免費版不是最新的版本(最新的要花錢買),縱使如此,這本舊版的內容還是有一些參考價值,像語法介紹的部分,這本書就寫的很簡潔,講解的也很透徹。

Code School

CoffeeScript-Code-School

CodeSchool 是一個線上學習的網站,雖然它也有很不錯的 CoffeeScript 課程,但是很可惜只有 Level 1 的課程是免費的,如果要看其他的課程就要付費。

參考資料:CodeCondo