<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh">
	<id>https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CoffeeScript</id>
	<title>CoffeeScript - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://arolstar52-zhtest.hf.space/index.php?action=history&amp;feed=atom&amp;title=CoffeeScript"/>
	<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CoffeeScript&amp;action=history"/>
	<updated>2026-06-26T18:46:20Z</updated>
	<subtitle>在这个wiki上该页的修订历史</subtitle>
	<generator>MediaWiki 1.43.8</generator>
	<entry>
		<id>https://arolstar52-zhtest.hf.space/index.php?title=CoffeeScript&amp;diff=1759329&amp;oldid=prev</id>
		<title>imported&gt;SchlurcherBot：​Bot: http → https</title>
		<link rel="alternate" type="text/html" href="https://arolstar52-zhtest.hf.space/index.php?title=CoffeeScript&amp;diff=1759329&amp;oldid=prev"/>
		<updated>2026-01-25T03:05:55Z</updated>

		<summary type="html">&lt;p&gt;Bot: http → https&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{NoteTA|G1=IT|G2=FL}}&lt;br /&gt;
{{Infobox programming language&lt;br /&gt;
| name = CoffeeScript&lt;br /&gt;
| logo = CoffeeScript-logo.svg&lt;br /&gt;
| paradigm = [[編程範型]]：[[基于原型编程|基于原型]]，[[函数式编程|函数式]]，[[指令式編程|指令式]]，[[腳本語言|脚本]]&lt;br /&gt;
| year = {{start date and age|2009}}&lt;br /&gt;
| designer = Jeremy Ashkenas&lt;br /&gt;
| developer = Jeremy Ashkenas等數人&lt;br /&gt;
| latest_release_version = {{wikidata|property|reference|edit| Q1106819 |P348}}&lt;br /&gt;
| latest_release_date = {{wikidata|qualifier| Q1106819 |P348|P577}}，{{Time ago|{{wikidata|qualifier|raw| Q1106819 |P348|P577}}}}&lt;br /&gt;
| influenced_by = [[Haskell]]、&amp;lt;ref name=&amp;quot;changelog&amp;quot; /&amp;gt;[[JavaScript]]、[[Perl]]、[[Python]]、&amp;lt;ref name=&amp;quot;changelog&amp;quot; /&amp;gt;[[Ruby]],&amp;lt;ref name=&amp;quot;changelog&amp;quot; /&amp;gt;[[YAML]]&amp;lt;ref name=&amp;quot;smell&amp;quot;&amp;gt;{{cite news|url=http://www.javaworld.com/javaworld/jw-10-2011/111018-coffeescript-vs-dart.html|title=Turn up your nose at Dart and smell the CoffeeScript|last=Heller|first=Martin|date=18 October 2011|work=JavaWorld|publisher=InfoWorld|accessdate=2012-02-09|archive-url=https://web.archive.org/web/20120210141629/http://www.javaworld.com/javaworld/jw-10-2011/111018-coffeescript-vs-dart.html|archive-date=2012-02-10|dead-url=yes}}&amp;lt;/ref&amp;gt;&lt;br /&gt;
| influenced = MoonScript&amp;lt;ref&amp;gt;{{Cite web |url=https://moonscript.org/ |title=MoonScript－A programmer friendly language that compiles to Lua |access-date=2012-04-28 |archive-date=2021-06-04 |archive-url=https://web.archive.org/web/20210604181136/https://moonscript.org/ |dead-url=no }}&amp;lt;/ref&amp;gt;, {{le|LiveScript}}, JavaScript&lt;br /&gt;
| operating_system = [[跨平台]]&lt;br /&gt;
| license = [[MIT許可證]]&lt;br /&gt;
| website = {{URL|https://coffeescript.org}}&lt;br /&gt;
| file_ext = &amp;lt;code&amp;gt;.coffee&amp;lt;/code&amp;gt;&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;CoffeeScript&amp;#039;&amp;#039;&amp;#039;是一套[[JavaScript]]的轉譯語言。受到[[Ruby]]、[[Python]]與[[Haskell]]等語言的啟發&amp;lt;ref name=&amp;quot;changelog&amp;quot;&amp;gt;The Changelog. [http://thechangelog.com/post/849754840/episode-0-2-9-coffeescript-with-jeremy-ashkenas Episode 0.2.9 - CoffeeScript with Jeremy Ashkenas] {{Wayback|url=http://thechangelog.com/post/849754840/episode-0-2-9-coffeescript-with-jeremy-ashkenas |date=20120505172541 }}, July 23, 2010&amp;lt;/ref&amp;gt;，CoffeeScript增強了JavaScript的簡潔性與可讀性。此外，CoffeeScript也新增了更複雜的功能，例如[[列表推导式]]、[[并行赋值]]等。一般來說，CoffeeScript可以在不影響執行效能的情況下，縮短約三分之一的程式碼長度&amp;lt;ref&amp;gt;Read Write Hack. [http://www.readwriteweb.com/hack/2011/01/interview-coffeescript-jeremy-ashkenas.php Interview with Jeremy Ashkenas] {{Wayback|url=http://www.readwriteweb.com/hack/2011/01/interview-coffeescript-jeremy-ashkenas.php |date=20120519235654 }}, Jan 7, 2011&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
CoffeeScript支持包含在了[[Ruby on Rails]]版本3.1&amp;lt;ref&amp;gt;{{cite web |author=Josh&amp;lt;!--ua ?--&amp;gt; Peek |url=https://twitter.com/joshpeek/status/58184348742074368 |title=Tweet by Rails Core Team Member |date=April 13, 2011 |accessdate=2020-09-18 |archive-date=2013-11-07 |archive-url=https://web.archive.org/web/20131107083135/https://twitter.com/joshpeek/status/58184348742074368 |dead-url=no }}&amp;lt;/ref&amp;gt;和[[Play Framework]]&amp;lt;ref&amp;gt;{{Cite web|url=https://www.playframework.com/documentation/2.5.x/AssetsCoffeeScript|title=AssetsCoffeeScript - 2.5.x|website=www.playframework.com|access-date=2016-10-31|archive-date=2017-09-09|archive-url=https://web.archive.org/web/20170909234440/https://www.playframework.com/documentation/2.5.x/AssetsCoffeeScript|dead-url=no}}&amp;lt;/ref&amp;gt;之中。在2011年，JavaScript主要創造者[[布蘭登·艾克]]声称CoffeeScript影响了他对JavaScript未来的思考&amp;lt;ref&amp;gt;Eich, Brendan. &amp;quot;[https://brendaneich.com/2011/01/harmony-of-my-dreams/ Harmony of My Dreams] {{Wayback|url=https://brendaneich.com/2011/01/harmony-of-my-dreams/ |date=20110708092723 }}&amp;quot;&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Eich, Brendan. &amp;quot;[https://brendaneich.com/2011/05/my-jsconf-us-presentation/ My JSConf.US Presentation] {{Wayback|url=https://brendaneich.com/2011/05/my-jsconf-us-presentation/ |date=20110709023121 }}&amp;quot;&amp;lt;/ref&amp;gt;。&lt;br /&gt;
&lt;br /&gt;
== 歷史 ==&lt;br /&gt;
2009年12月3日，{{link-en|Jeremy Ashkenas|Jeremy Ashkenas}}在[[Git]]上對CoffeeScript做出了第一筆[[提交 (版本控制)|提交]]:「神秘語言最初的提交。（initial commit of the mystery language.）」&amp;lt;ref&amp;gt;Github. [https://github.com/jashkenas/coffee-script/commit/8e9d637985d2dc9b44922076ad54ffef7fa8e9c2  &amp;#039;initial commit of the mystery language&amp;#039;] {{Wayback|url=https://github.com/jashkenas/coffee-script/commit/8e9d637985d2dc9b44922076ad54ffef7fa8e9c2 |date=20190924205654 }}&amp;lt;/ref&amp;gt;當時的編譯器由Ruby語言所寫成。在同年12月24日，Ashkenas做出了第一個上標籤與歸檔的版本－0.1.0。2010年2月21日，他釋出了0.5版，此版本將原先由Ruby撰寫的編譯器改寫為純CoffeeScript撰寫。當時吸引了[[GitHub]]上的許多貢獻者，每日約有300人次造訪該專案的頁面。2010年12月24日，Askenas釋出了1.0.0穩定版本，並在Hacker News上發表。[[Hacker News]]也是當時此專案第一次發表的網站。&amp;lt;ref&amp;gt;Hacker News. [https://news.ycombinator.com/item?id=2037801 CoffeeScript 1.0.0 announcement] {{Wayback|url=https://news.ycombinator.com/item?id=2037801 |date=20120512101155 }} posted by Jeremy Ashkenas on Dec 24, 2010&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Hacker News. [https://news.ycombinator.com/item?id=1014080 Original CoffeeScript announcement] {{Wayback|url=https://news.ycombinator.com/item?id=1014080 |date=20120713173951 }} posted by Jeremy Ashkenas on Dec 24, 2009&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 語法 ==&lt;br /&gt;
許多JavaScript的陳述句皆可在CoffeeScript中視為表達式。例如，&amp;lt;code&amp;gt;if&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;switch&amp;lt;/code&amp;gt;與&amp;lt;code&amp;gt;for&amp;lt;/code&amp;gt;等。這些控制陳述句也有後綴的版本。&lt;br /&gt;
&lt;br /&gt;
CoffeeScript的一般原則，是可以省略許多不必要的括號和大括號，可以使用縮排來取代。可以以隱喻方式呼叫函數（在JavaScript中呼叫函數所需的括號可以被省略），物件文字通常可以自動偵測。&lt;br /&gt;
&lt;br /&gt;
== 範例 ==&lt;br /&gt;
一個使用[[jQuery]]的普通JavaScript程式碼如下：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready(function() {&lt;br /&gt;
  // 這裡是初始化的程式碼&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
或可以更省略：&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;javascript&amp;quot;&amp;gt;&lt;br /&gt;
$(function() {&lt;br /&gt;
  // 這裡是初始化的程式碼&lt;br /&gt;
});&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
在CoffeeScript裡，&amp;lt;code&amp;gt;function&amp;lt;/code&amp;gt;關鍵字可用&amp;lt;code&amp;gt;-&amp;gt;&amp;lt;/code&amp;gt;符號來取代，結尾的分號也可用縮排來表示，如同[[Python]]、[[Haskell]]等[[縮排語言]]的[[越位规则]]一樣。此外，大括號通常也可以省略。因此上述的程式碼在CoffeeScript中可寫成如下的形式。&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!-- 這裡使用相似的Ruby語言來顯示高亮度語法。 --&amp;gt;&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
$(document).ready -&amp;gt;&lt;br /&gt;
  # 這裡是初始化的程式碼&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
或&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
($ document).ready -&amp;gt;&lt;br /&gt;
  # 這裡是初始化的程式碼&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
又或者&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;ruby&amp;quot;&amp;gt;&lt;br /&gt;
$ -&amp;gt;&lt;br /&gt;
  # 這裡是初始化的程式碼&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== 編譯 ==&lt;br /&gt;
CoffeeScript的編譯器在0.5版本之後由CoffeeScript本身寫成，為[[Node.js]]裡的一個工具程式。但核心程式碼並不依賴Node.js，且可直接在任何支援JavaScript的環境中使用。&amp;lt;ref&amp;gt;{{Cite web |url=http://jashkenas.github.com/coffee-script/#installation |title=存档副本 |accessdate=2012-04-28 |archive-date=2009-12-27 |archive-url=https://web.archive.org/web/20091227041459/http://jashkenas.github.com/coffee-script/#installation |dead-url=yes }}&amp;lt;/ref&amp;gt;此外，可以使用Coffee Maven Plugin&amp;lt;ref&amp;gt;{{cite web |url=https://github.com/talios/coffee-maven-plugin |title=Coffee Maven Plugin |accessdate=2012-04-28 |archive-date=2016-01-31 |archive-url=https://web.archive.org/web/20160131033158/https://github.com/talios/coffee-maven-plugin |dead-url=no }}&amp;lt;/ref&amp;gt;作為Node.js之外的替代方案，這是[[Apache Maven]]建置工具的外掛，由[[Rhino (JavaScript引擎)|Rhino]] JavaScript引擎並以[[Java]]語言寫成。&lt;br /&gt;
&lt;br /&gt;
在CoffeeScript.org官方網站的選單上有「Try CoffeeScript」按鈕，可以讓使用者直接輸入CoffeeScript程式碼並直接在瀏覽器上編譯成JavaScript。另外一個網站「jscoffee&amp;lt;ref&amp;gt;{{cite web |title=js2coffee/js2coffee: Compile JavaScript to CoffeeScript |url=https://github.com/js2coffee/js2coffee |website=GitHub |publisher=js2coffee |accessdate=2022-11-18 |date=2022-11-08 |archive-date=2022-11-18 |archive-url=https://web.archive.org/web/20221118102156/https://github.com/js2coffee/js2coffee |dead-url=no }}&amp;lt;/ref&amp;gt;」提供雙向轉譯的功能。&lt;br /&gt;
&lt;br /&gt;
== 引用資料 ==&lt;br /&gt;
{{Reflist|2}}&lt;br /&gt;
&lt;br /&gt;
== 外部連結 ==&lt;br /&gt;
* {{官方網站|coffeescript.org}}&lt;br /&gt;
* [http://coffeescript.cn/ 中国官网]{{Wayback|url=http://coffeescript.cn/ |date=20140222204802 }}&lt;br /&gt;
* [http://github.com/jashkenas/coffee-script/ GitHub專案]{{Wayback|url=http://github.com/jashkenas/coffee-script/ |date=20130828105424 }}&lt;br /&gt;
;教學文件&lt;br /&gt;
* [http://coffeescript.cn/ 中文文档]{{Wayback|url=http://coffeescript.cn/ |date=20140222204802 }}&lt;br /&gt;
* [https://archive.today/20121208174724/http://coffeescriptcookbook.com/ CoffeeScript Cookbook]&lt;br /&gt;
* [http://arcturo.github.com/library/coffeescript/ The Little Book on CoffeeScript]{{Wayback|url=http://arcturo.github.com/library/coffeescript/ |date=20120102011208 }}（[https://web.archive.org/web/20120426120616/http://island205.github.com/tlboc/ 簡體中文版]）&lt;br /&gt;
* [http://autotelicum.github.com/Smooth-CoffeeScript/ Smooth CoffeeScript]{{Wayback|url=http://autotelicum.github.com/Smooth-CoffeeScript/ |date=20120501101333 }}&lt;br /&gt;
&lt;br /&gt;
{{程序设计语言}}&lt;br /&gt;
{{JavaScript}}&lt;br /&gt;
{{Node.js}}&lt;br /&gt;
&lt;br /&gt;
[[Category:JavaScript]]&lt;br /&gt;
[[Category:基于原型的编程语言]]&lt;br /&gt;
[[Category:使用MIT许可证的软件]]&lt;br /&gt;
[[Category:2009年建立的程式語言]]&lt;/div&gt;</summary>
		<author><name>imported&gt;SchlurcherBot</name></author>
	</entry>
</feed>