2012年04月03日
川俣晶の縁側ソフトウェア技術雑記 total 4685 count

LINQ for JavaScriptの誘惑

Written By: 川俣 晶連絡先

「JavaScriptで扱うデータが少し複雑で多いプログラムを相手にしていて、そこでふと思い出したわけだ」

「何を?」

「JavaScriptのLinqを」

「Linqって、.NET Frameworkのライブラリだろ?」

「そうだ。でも、それと似た実装がJavaScriptにもあったのだ」

「えー」

「というわけで使ってみたよ。以下のようなコードが通ってしまうのはやはり凄いな」

var r = aMyFunction();

$.Enumerable.From(r).Where("$!=null").ForEach(function (i) { alert(i.name); });

(注意:自分のところで動いたコードの抜粋で、この通りに書けば必ず動くという話ではない。念のため)

「C#で使うクエリ式とはかなり違うよ」

「メソッド形式に慣れていたら自然に読めるはずだ」

「それでもかなり違うよ。Whereメソッドの引数とはラムダ式じゃないし。そもそもFromってなんだよ」

「そこまで細かいことをガタガタ言っていたら今の時代を乗り切れないぞ」

「そんなあ」

ただし §

「でも、比較的ドキュメントが整備されているように見えて、足りない情報が結構多い感じだ。非常に基本的なところで、何カ所かどう書いて良いか分からずに迷ったところがある」

「それって、今はよくあることだって言ってたじゃないか」

「まあな」

「いいのかよ、それで」

「良い訳が無い……が、そのことに文句を言っても前に進めない。どうせ、ドキュメントの書き方もきちんと学んだことが無くて、学ぶ必要があるという認識すら無い連中が覇を競っているのだ。あるいは、知っていても時間が無いから手を抜いてるってことかもしれない。そういう時代だってことだ。最終的に動くコードを書いた者勝ちってことだろう」

「まさか、山勘で動かして動いたらオーケーな感じ?」

「あるいは、Webブラウザで開発者用コンソールを開いてオブジェクトの中身をチェックして動かしながら結果を見るとかね」

「それでいいのかよ」

「ふっ。1980年前後の時代は、もっと貧弱な環境でコードを書いていたんだぜ。この程度で文句を言ったら罰が当たる」

「どんな環境だよ」

「売れ筋の人気パソコンだよ」