20/10/11 13:01:56.22 rXA2CZZq.net
>>591
外変数を掴む前提ならreduceは全てforEachで代替出来る。
逆に言うと、わざわざreduceを入れたのは、見た目immutableにしたいだけ。(戻り値をconstで受けられる)
しかし現状では与えた関数が外変数を変更していない、という確証が「文法的には」ない。
つまり、「見て判断」するしかない。
この辺がハンガリアンを馬鹿にしているお前らが理解出来てないところだ。
=> がクロージャ無しなら、
const tmp = arr.reduce( => );
において、tmp以外の変数に変更がないことを文法的に保証出来た。
これをせずに、immutableだあ、型でエラーが落とせるだあ、なんて言ってる時点で意味ねえ、というだけ。
もっと効率的にエラーを落とせる仕様は有ったって事だよ。