CoffeeScript

JavaScript(ECMAScript)のシンタックスシュガーの一種。Pythonのようにインデント重視で記述する。

本家

インストール方法

# npm install -g coffee-script

ドキュメンテーションの書き方

###*
@class Hoge
  Hogeクラスの説明
###
class Hoge
  ###*
  @method constructor
    コンストラクタ
  ###
  constructor: ->
    hoge
    return
 
  ###*
  @method
    ふー
  ###
  foo: =>
    bar
    return

みたいに書いて、coffee→jsに変換した後にjsduckを使うのがよい。

関数定義のススメ

thisを呼び出し時に受け取ったまま使う -> と、 定義時点でのthisをバインドして呼び出し時のthisを無視する => とがある。 多くの例ではthisのバインドを必須するときを除いて -> を用いているが、 むしろthisを敢えて無視したいとき以外は => を使うという運用のほうが望ましい。

なぜならば、最初は -> で実装していたが、後の変更でクラスメンバへのアクセスが増えてthisを 扱い始めた時、=> に変えるのを忘れると、解析の難しい不具合を引き起こしやすい。 デバッグに時間がかかるので、this置換の必要な所だけを -> で実装する方がトータルコストは良いと判断。

注意点:それでも->を使うべき場所

  • クラス関数の定義用コロンの後 (hoge: ->)
  • @property(“xxx”, get: -> @hoge) 上のコロンの後と同じ
  • その他thisを呼び出し時にバインドしたいとき
prog/coffeescript.txt · 最終更新: 2015/11/15 03:16 by kimu_shu
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0