//Proxyでこれが data.map(row => row.values.split(',').map(col => col.trim()).map(parseFloat)[2]); //こうなる data.map(it.values.split(',').map(it.trim()).map(parseFloat)[2]); ※ Proxyを用いてオブジェクトのメソッド・プロパティの評価を遅延させる話です。関数型言語のような引数の「遅延評価」の話ではありません。知人から指摘を受けたので、一部記述を改めました。 はじめに 何をしたいのか JavaScriptを書いていると、コールバック的な関数利用でプロパティ参照/メソッド呼出をする場合など、引数の定義と参照で2度同じ変数名を書かなければいけないことが多々あります。 // 例1 カンマ区切りのテキストデータを2次元配列にする text.
![Proxy "it": アローすら面倒な怠惰JavaScripterのための遅延評価 - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/3b88695b1665b22529ab1685aa1d2bb26bce5c05/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-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9UHJveHklMjAlMjJpdCUyMiUzQSUyMCVFMyU4MiVBMiVFMyU4MyVBRCVFMyU4MyVCQyVFMyU4MSU5OSVFMyU4MiU4OSVFOSU5RCVBMiVFNSU4MCU5MiVFMyU4MSVBQSVFNiU4MCVBMCVFNiU4MyVCMEphdmFTY3JpcHRlciVFMyU4MSVBRSVFMyU4MSU5RiVFMyU4MiU4MSVFMyU4MSVBRSVFOSU4MSU4NSVFNSVCQiVCNiVFOCVBOSU5NSVFNCVCRSVBMSZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTU2JnM9ODQyNTNjYTU3ZjFlMzFkNzdiZThlNjE4YzgyYTk4Y2Y%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0a3luZCZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9ZDUwMzRjNjQyNTYwOWY0NTFhMWE2ZTNkNzY0MGYwNWE%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3D0812e049d46d8c376c3a302455e7c32e)