CoffeeScript

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;

}