(この記事はQiitaで僕が書いたものを移行した記事です。記事中のコメントはQiitaの該当記事を参照ください)
exports.BLACK = 0 exports.WHITE = 1 exports.YELLOW = 2 exports.RED = 3 exports.BLUE = 4
定数はよく使いますよね。そして徐々にグローバル汚染激しくなりますよね。しかもファイルまたいでつかいまくりですよね。そしてこうしたくなりますよね。
exports.COLOR = BLACK: 0 WHITE: 1 YELLOW: 2 RED: 3 BLUE: 4
でも、使う先でいちいち面倒くさがりつつ
BLACK = COLOR.BLACK WHILTE = COLOR.WHITE ...
と展開するのはクールじゃないです。全然クールじゃないです。 CoffeeScriptの利点の一つ、分割代入フル活用すればこれをクール&スマートにかけます。
{BLACK, WHITE, YELLOW, RED, BLUE} = COLOR
これだけですが、これができるだけでもCoffeeScriptには十分に利用価値があると思いました。
コメントもらったので追記
ちなみにES2015ではこれと同等のことがimportを使うことでできます(コメントで教えてもらいました)。
import { returnPrivateVar, publicVar } from 'mymodule';