Tips for golfing in CoffeeScript
Use destructuring assignments, if structure elements are used often

Eg. get elements of first argument array

func = ([x,y,z])-&gt;
    [i,j] = doSomething x, y, x+y
    doSomethingElse i, j

# instead of

func = (a)-&gt;
    b = doSomething a[0], a[1], a[0]+a[1]
    doSomethingElse b[0], b[1]


This can be combined with splats

[first, rest..., last] = doSmth()