CoffeeScript

作成日:2017-07-30
最終更新日:

Node.js と CoffeeScript

Node.js に限った話でないのだが、大規模開発で JavaScript を使おうとすると、いろいろと読みにくい表現が出てきたり、キータイプの数が増えたりする。 そこで、JavaScript の文法を改良する試みがいろいろとなされている。その一つが CoffeeScript である。

ちまたでは CoffeeScript はオワコン(終わっているコンテンツ)というが、 どうなんだろう。私が図書館から借りてきた CoffeeScript の本は 2012 年 5 月 25 日初版である。 ということは、2017 年現在では時代遅れなのかもしれない。

それでも CoffeeScript の文法を知っておくことは損ではないだろう。

準備

npm を使って CoffeeScript をインストールする。

	$ npm install -g coffee-script
	/home/**/*******/local/bin/cake -> /home/**/******/local/lib/node_modules/coffee-script/bin/cake
	/home/**/*******/local/bin/coffee -> /home/**/******/local/lib/node_modules/coffee-script/bin/coffee
	/home/**/*******/local/lib
	 └── coffee-script@1.12.7 

	$ coffee -v
	CoffeeScript version 1.12.7

Node.js との対比

Node.js で書いたプログラムを CoffeeScript で書きなおしてみた。 ただし、説明の都合でブラウザでの表示名とポート番号は変更した。 この変更を覗いてもなお、対応がとれていないところがあるのはご容赦願いたい。 このファイルを httpd-c.coffee という名前で保存する。


http = require('http')
port = 6626
r = [
  "アハラノフ=ボーム効果"
  "トンネル効果"
  "ドップラー効果"
  "異常ゼーマン効果"
  "コンプトン効果"
  "近藤効果"
  ]

server = http.createServer (req, res) ->
  n = Math.floor(Math.random() * r.length)
  data = "#{r[n]}について述べよ\n"
  res.writeHead 200,
    'Content-Type': 'text/plain'
  res.end data

server.listen port

次のコマンドを実行する。
$ coffee http-c.coffee

すると、プロンプトは戻らない。これはプロセスが動いていることを表す。 以前は実装を公開していたが、現在は公開していない(稼働を停止している)。

ちなみに、上記の名称の効果はすべて、物理の現象からとっている。


まりんきょ学問所JavaScript 手習い > CoffeeScript