ふと思ったんだが、forEach って何で currentValue が this になるのがデフォじゃないんだ?
グローバルじゃ意味無いよな?
引数で与えられるから動作としては問題なく、見た目だけの話だけど。

> forEach に thisObject パラメータが与えられると、callback の呼び出しのたびにそのオブジェクトが this として使用されます。thisObject が与えられないか null だと、callback に結び付けられたグローバルオブジェクトが代わりに使用されます。
> https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach