開始征戰(zhàn)CoffeeScript
最近在用clojurescript做游戲,感覺整個項目使用了很多工具來編程,但是在效率及管理上都方便很多,整個項目的發(fā)布都是通過腳本自動實現(xiàn)的,降低了發(fā)布過程人為因素的影響。而在項目代碼方便,大大提高了可維護(hù)性。但是對于普通的web項目來說,感覺用clojurescript有點(diǎn)不太合適,因此這段時間研究下coffeescript,來提供項目開發(fā)效率及代碼的維護(hù)性。

什么是CoffeeScript?
CoffeeScript 是一門小巧的語言,會編譯為 JavaScript 。它的語法風(fēng)格受到了 Ruby 和 Python 影響,很多特性都借鑒于這兩種語言。
為什么選擇CoffeeScript?
不少JavaScript社群,包括JavaScript的之父Brendan Eich,也對它贊譽(yù)有加,有社群及大神的背景,加上Rails 3.1之后會把CoffeeScript編程預(yù)設(shè)支援,而對于我來說,選擇它的原因是可以使得代碼可讀性更高,而且代碼更加簡潔,提高程序的效率。而在語法上跟clojurescript有點(diǎn)類似。
優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
- 程序變得更簡潔,更容易閱讀,即使是以O(shè)OP的方式來寫js,語法看起來也相當(dāng)清楚。
- 經(jīng)過CoffeeScript編譯出來的JavaScript,它在編譯的時候做了優(yōu)化,使得程序能夠達(dá)到最佳的性能。
缺點(diǎn)
- 你可能得花上很長時間來學(xué)習(xí)一門新的語言,而他的語法更我們傳統(tǒng)的編程語言有很大的不同。不過如果你熟悉Python或Ruby的話,那就可以在短時間內(nèi)上手。
FAQ
Q: 學(xué)CoffeeScript就可以取代一般的JavaScript嗎?
A: 也許可以取代,但這不代表你就不用學(xué)JavaScript,如果你不熟悉JavaScript是怎么一回事,你應(yīng)該也不知道你要拿 CoffeeScript來取代什么東西。最一開始也提到,CoffeeScript就只是JavaScript而已,所以原本該花時間在學(xué)習(xí) JavaScript的,不會因為CoffeeScript而省下來的。
Q: CoffeeScript聽說要編譯成*.js檔才能用?
A: 是的。但如果你不想編譯,透過在瀏覽器里直接引入compiler也可以讓瀏覽器看得懂*.coffee,只是實際上還是會把編成*.js檔。 BTW, CoffeeScript的compiler本身也是用CoffeeScript寫的,自己寫自己,這點(diǎn)光是聽起來就很酷。
Q: 改用CoffeeScript的話,是不是之前寫的JavaScript都得整個打掉重寫?
A: 也不用啦,CoffeeScript的目的并不是取代原來的JavaScript,而是用更簡單、清楚的語法來寫JavaScript, 所以原來寫好的就留著吧,除非你也覺得寫得不好,加上手癢想練功。而且如果你想在CoffeeScript里直接使用一般JavaScript的語法也是可以的,CoffeeScript可以讓你把一般的JavaScript語法embed在CoffeeScript里。