Edited at

CoffeeScriptのfor

More than 5 years have passed since last update.

なんでこういう構文にしたんだろう?

ArrayObjectfor infor ofで区別しなければならないのもアレだし、

csでfor inしたものが、jsでforになって、

csでfor ofしたものが、jsでfor inになるとか、

valueindexkeyvalueの順番とか、

ちょっとややこい。

for value in array

hoge

for value, index in array
hoge

for key of object
hoge

for key, value of object
hoge

吐き出すJavaScirptは

var index, key, value, _i, _j, _len, _len1;

for (_i = 0, _len = array.length; _i < _len; _i++) {
value = array[_i];
hoge;

}

for (index = _j = 0, _len1 = array.length; _j < _len1; index = ++_j) {
value = array[index];
hoge;

}

for (key in object) {
hoge;

}

for (key in object) {
value = obj[key];
hoge;

}