CoffeeScriptの超基本まとめ

今日は久々にCoffeeScriptを書こうとしたら
全く書き方がわからなくて苦戦したのでひっかかった部分をめもめも。

for文

基本的なfor文
# これだと1から100まで回る
# 1から99までにしたい時は[1...100]
for i in [1..100]
  hogehoge
1行でもかける
console.log i for i in [1..100]
配列をまわす
for value, index in array
  hogehoge

Pythonのenumerateとはi, vが逆なのか。

オブジェクトをまわす
for key, value of obj
  hogehoge

for-inじゃなくて、for-ofを使う。
これはだいぶ引っかかった。

参考: CoffeeScriptのfor - Qiita

クラス 2014.12.15追記

class hoge
  constructor:(foo)-> # コンストラクタ
    @foo = foo # @はthis.
  publicFunc: (a)-> # public 関数
    ...
  privateFunc = (a)-> # private 関数
    ...

もし、このクラスhogeを他のファイルからも呼び出したいときは、@をクラス名につける。

class @hoge
コンストラクタでクラス変数への値代入の省略

こんなかんじのコンストラクタは、

  constructor:(foo)->
    @foo = foo

以下のように省略できる。コードがすっきりする。

  constructor:(@foo)->
     # 何も書かなくても @fooに引数のfooが入る

関数

hoge = (a, b, c=1) -> #デフォルトの値も設定できる
  foo
  bar

a, bは引数

リスト内包表記 2014.12.15追記

 (i for i in [0...3])  # [0, 1, 2]
 (i for i in [0...10] when i > 5)  # [6, 7, 8, 9]

Style Guide

基本的にはここをみてる
polarmobile/coffeescript-style-guide · GitHub