親記事: なぜfor文は禁止なのか?関数型記述のススメ - @ukiuni@github 氏 @ukiuni@githubさんの上記記事と趣旨は同じです。 でも、読んでてしっくり来なかったので、自分の言葉で表現した方がいいよねって事で今回筆を取りました。 JSのメソッドチェーンは関数型モドキでしかないので、とてもじゃないけど関数型とは呼べない関数型のエッセンスを取り出したリスペクト記事です まず、for文でやるお馴染みの手法と、 配列のリスト操作系のプロトタイプメソッドを駆使したコードを考えてみます。 (マサカリが飛んでくるので素のJSで関数型というワードは使ってはいけません) // 0から100未満の偶数のみを累計する。 const main = () => { let sum = 0 for (let i = 0; i < 100; i++) { if (i % 2 === 0) {
![なぜfor文は禁止なのか?ポエム版 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/708615371b6efeb9292b0f43ca08d71bba069d87/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZoPTMzNiZ0eHQ9JUUzJTgxJUFBJUUzJTgxJTlDZm9yJUU2JTk2JTg3JUUzJTgxJUFGJUU3JUE2JTgxJUU2JUFEJUEyJUUzJTgxJUFBJUUzJTgxJUFFJUUzJTgxJThCJUVGJUJDJTlGJUUzJTgzJTlEJUUzJTgyJUE4JUUzJTgzJUEwJUU3JTg5JTg4JnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz03MWFiY2MxNWI5MDhlMDA3NzgxMmE0ZDhmOTQ0YTE3ZA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwbWl5YWJpc3VuJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9MzYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz0zYWU5OWVhN2Q0NjliOTNlNzJiZTI2ZjlhNjg4NmI3Yg%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3D7ef4d1ecae7fa6c1002a6cb3cdfa5e3c)