歷經一年的緊張開發(fā),CoffeeScript浴火重生,推出了CoffeeScript 2,更新語言以適用于現(xiàn)代JavaScript社區(qū)。
Geoffrey Booth是在一個博客帖子中宣布這一版本發(fā)布的,并希望CoffeeScript 2能將該語言帶回到現(xiàn)代JavaScript的車道上:
新發(fā)布的CoffeeScript語言和編譯器瞄準于將CoffeeScript帶入現(xiàn)代JavaScript時代,在保持CoffeeScript獨樹一幟的整潔語法的同時,填補了存在于JavaScript兼容性上的差距。
在CoffeeScript首次投入使用時,ECMAScript 2015尚未發(fā)布,因此也沒有class定義和箭頭函數(shù)(=>)等這些在CoffeeScript中廣為使用的概念。這些特性使得JavaScript開發(fā)人員能以當時JavaScript尚不具備的方式考慮問題。但是時過境遷,這些特性現(xiàn)已成為JavaScript的一般特性。鑒于CoffeeScript 2將編譯輸出為現(xiàn)代JavaScript程序,因此同樣支持class和=>。CoffeeScript 2中添加的其它特性包括:
模塊; 異步函數(shù); 默認參數(shù)值; 對象析構。隨著一系列的活動和社區(qū)脫穎而出,CoffeeScrip業(yè)已黯然失色。Hacker New用戶“srb-”是這樣寫道:“作為一名CoffeeScript熱愛者,在一兩年前事情就看起來相當暗淡。特別是完全看不到推出新特性的動力。”
CoffeeScript的創(chuàng)立者Jeremy Ashkenas說:“這次更新正是面向那些依然使用CoffeeScrip的開發(fā)人員,以及使用已有CoffeeScript代碼庫的人”。雖然對CoffeeScript的興趣已經隨時間而暗淡,但是該語言的確影響了我們當前所看到的JavaScript。JavaScript的創(chuàng)始人Brendan Eich曾寫道,ES6的大箭頭函數(shù)(=>)就“部分上受到CoffeeScript的啟發(fā)”。
Booth在InfoQ的一次采訪中,表示對結果很高興:
我認為CoffeeScript的處境很好。雖然它已不復數(shù)年前的景象,但這也是一件好事情?,F(xiàn)在CoffeeScript可以聚焦于更整潔的JavaScript,而ECMA得以聚焦于語言特性。CoffeeScript的使用依然相當廣泛,并具有足夠的支持,因此它依然適用于任何項目。這正是我們推出CoffeeScript 2的目的所在。
查看英文原文: CoffeeScript 2 Released, Adding Modern JavaScript Features