差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

次のリビジョン
前のリビジョン
prog:coffeescript [2015/11/10 13:48]
kimu_shu 作成
prog:coffeescript [2015/11/15 03:16] (現在)
kimu_shu [注意点:それでも->を使うべき場所]
ライン 1: ライン 1:
-====== CoffeeScriptとは ​======+====== CoffeeScript ======
 JavaScript(ECMAScript)のシンタックスシュガーの一種。Pythonのようにインデント重視で記述する。 JavaScript(ECMAScript)のシンタックスシュガーの一種。Pythonのようにインデント重視で記述する。
  
ライン 9: ライン 9:
  
 ====== ドキュメンテーションの書き方 ====== ====== ドキュメンテーションの書き方 ======
-<file coffeescript>​+<code coffeescript>​
 ###* ###*
 @class Hoge @class Hoge
ライン 19: ライン 19:
     コンストラクタ     コンストラクタ
   ###   ###
-  constructor: ​=>+  constructor: ​->
     hoge     hoge
     return     return
-</file+ 
-みたいに書いて、coffee→jsに変換した後にjsduckを使うのがよい。+  ###* 
 +  @method 
 +    ふー 
 +  ### 
 +  foo: => 
 +    bar 
 +    return 
 +</code
 +みたいに書いて、coffee→jsに変換した後に**jsduck**を使うのがよい。 
 + 
 +====== 関数定義のススメ ====== 
 +thisを呼び出し時に受け取ったまま使う %%->%% と、 
 +定義時点でのthisをバインドして呼び出し時のthisを無視する %%=>%% とがある。 
 +多くの例ではthisのバインドを必須するときを除いて %%->%% を用いているが、 
 +**むしろthisを敢えて無視したいとき以外は %%=>%% を使うという運用のほうが望ましい。** 
 + 
 +なぜならば、最初は %%->%% で実装していたが、後の変更でクラスメンバへのアクセスが増えてthisを 
 +扱い始めた時、%%=>​%% に変えるのを忘れると、解析の難しい不具合を引き起こしやすい。 
 +デバッグに時間がかかるので、this置換の必要な所だけを %%->%% で実装する方がトータルコストは良いと判断。 
 + 
 +===== 注意点:それでも->​を使うべき場所 ===== 
 +  * クラス関数の定義用コロンの後 (hoge: %%->​%%) 
 +  * @property("​xxx",​ get: %%->%% @hoge) 上のコロンの後と同じ 
 +  * その他thisを呼び出し時にバインドしたいとき 
prog/coffeescript.1447163283.txt.gz · 最終更新: 2015/11/10 13:48 by kimu_shu
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0