なんでこういう構文にしたんだろう?
Array
とObject
をfor in
とfor of
で区別しなければならないのもアレだし、
csでfor in
したものが、jsでfor
になって、
csでfor of
したものが、jsでfor in
になるとか、
value``index
とkey``value
の順番とか、
ちょっとややこい。
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;
}