new takyam();

Qiitaぽい話はQiitaに書いていくことにする気がする http://qiita.com/takyam

CoffeeScriptで「if」が1行でしか書けないと思ってたけど複数行いける件

CoffeeScriptで書く時に、IFの条件部分が1行でしか書けなくて不便だなーと思ってましたが、
実は複数行に分割できる事が分かったので共有します。

if a is b and c is d and e is f
  console.log a, b, c, d, e, f

たとえばこれを

if a is b and
  c is d and
  e is f
    console.log a, b, c, d, e, f

みたいにする事で、行分割できます。
どちらもコンパイル後のJSは以下になります。

if (a === b && c === d && e === f) {
  console.log(a, b, c, d, e, f);
}

ポイントは

if a is b and  #←行末を and か or で終わらせる
  c is d and   #2行目以後の条件部分は 1個(スペース2つ) ネストさせる
  e is f
    console.log a, b, c, d, e, f #処理部分は 2個(スペース4つ) ネストさせる

こんな感じで、and/or を末尾に置くのと、ネストの数を気をつければ、
どんな長い条件文も可読性高く書けるTipsでした。