コンテンツにスキップ

CoffeeScript

出典: フリー百科事典『ウィキペディア(Wikipedia)』
CoffeeScript
CoffeeScript
CoffeeScriptのロゴ
パラダイム マルチパラダイム: プロトタイプベース, 関数型言語, 命令型, スクリプト言語
設計者 Jeremy Ashkenas
開発者 Jeremy Ashkenas, et al.
最新リリース 2.7.0/ 2022年4月23日 (2年前) (2022-04-23)
影響を受けた言語 JavaScript, Python, Ruby, Haskell
影響を与えた言語 JavaScript, LiveScript
プラットフォーム クロスプラットフォーム
ライセンス MIT License
ウェブサイト coffeescript.org
拡張子 .coffee
テンプレートを表示

CoffeeScript JavaScript 

Ruby  PythonHaskell [1] JavaScript  (Array comprehensions) 

CoffeeScript  (JavaScript  1/3 )[2] 2011316CoffeeScript  GitHub [3]

 Ruby (Ruby on Rails ) 37signals使[4] Ruby on Rails 3.1 

JavaScript  CoffeeScript [5][6]

[]


20091213Jeremy Ashkenas (initial commit of the mystery language) Git [7]CoffeeScript  "Create Your Own Programming Language" [8]  Ruby 1224 0.1.0 2010221 CoffeeScript  0.5  GitHub 1300

20101224Askenas  1.0.0 Hacker News [9] Hacker News [10]

2017918 ES2015+ 2.0.0 ES2015+ 1.x JSXBabel ES5

[]


 jQuery 使 JavaScript 
$(function() {
  // 初期化のためのコード
});

CoffeeScript では function キーワードが -> で置き換えられている。また、波括弧のかわりに、PythonHaskell のようにインデントで構造を表現する。さらに、丸括弧は曖昧性がない場合は省略できる。これらの特徴により、はじめに挙げたコードと同等の内容を CoffeeScript で記述するとこのようになる。

$ ->
  # 初期化のためのコード

jQuery などではクロージャを多用するが、CoffeeScript ではクロージャが簡潔に書けるようになっている。これは /info の内容を取ってきて、#info にそれを入れる場合の jQuery を使ったJavaScript の例である。

$.get("/info", function(txt) { $("#info").text("info = " + txt) }, "text")

CoffeeScript でも以下のように1行で書け、75文字が67文字へと1/10程度文字数が減っている。

$.get("/info", ((txt) -> $("#info").text("info = #{txt}")), "text")

コンパイル[編集]


 CoffeeScript  JavaScript 

Node.js Node.js npm install --global coffeescript CoffeeScript  0.5  CoffeeScript npm JavaScriptNode.js 使 Node.js  JavaScript [11]

Apache Maven  Coffee Maven Plugin  Java  JavaScript  Rhino 

CoffeeScript  "Try CoffeeScript"  CoffeeScript JavaScript 

Windows  coffee.exe Node.js 使

Debian/Ubuntu  coffeescript 

<script type="text/coffeescript"> 使HTML 

coffee/*.coffee  js/*.js 
coffee --compile --output js/ coffee/

[]


IntelliJ IDEA - 

Visual Studio - 2012Visual Studio Express 2012 for WebProWeb Essensials 2012JavaScript

[]



(一)^ The Changelog. Episode 0.2.9 - CoffeeScript with Jeremy Ashkenas, Jul 23, 2010

(二)^ Read Write Hack. Interview with Jeremy Ashkenas, Jan 7, 2011

(三)^ Github. Popular Watched Repositories

(四)^ Carson, Ryan. "New Rails-like Framework from 37signals for HTML5 Mobile Apps", Think Vitamin blog, Nov 8, 2010

(五)^ Eich, Brendan. "Harmony of My Dreams"

(六)^ Eich, Brendan. "My JSConf.US Presentation"

(七)^ Github. 'initial commit of the mystery language'

(八)^ Create Your Own Programming Language. createyourproglang.com. 2011822

(九)^ Hacker News. CoffeeScript 1.0.0 announcement posted by Jeremy Ashkenas on Dec 24, 2010

(十)^ Hacker News. Original CoffeeScript announcement posted by Jeremy Ashkenas on Dec 24, 2009

(11)^ https://coffeescript.org/#2.4.1


Geoffrey Grosenbach; Jeremy Ashkenas, Michael Ficarra (2011512). Meet CoffeeScript.  PeepCode. 2011614

[]


Burnham, Trevor (2011725). CoffeeScript: Accelerated JavaScript Development (Report) (First ed.). Pragmatic Bookshelf. p. 136. ISBN 9781934356784

CoffeeScript JavaScript2012526ISBN 978-4798125992

CoffeeScript2013529ISBN 978-4048910774

Trevor Burnham (201183). CoffeeScript: Accelerated JavaScript Development. Pragmatic Bookshelf. ISBN 978-1934356784

Alex Maccaw (2012131). The Little Book on Coffeescript. Oreilly & Associates Inc. ISBN 978-1449321055

Mark Bates (2012524). Programming in CoffeeScript. Developer's Library. ddison-Wesley Professional. ISBN 978-0321820105

[]


 

coffeescript - GitHub

The Little Book on CoffeeScript -