BT

JSINQ、 LINQのJavaScript実装

| 作者: Abel Avram フォローする 7 人のフォロワー , 翻訳者 編集部 フォローする 0 人のフォロワー 投稿日 2009年2月11日. 推定読書時間: 3 分 |

JSINQ(リンク)は、JavaScript INtegrated Queryを表し、LINQ to ObjectsをJavaScriptに実装するベータプロジェクトである。最近はKai Jager氏によってCodePlexで リリースされた。JSINQにはEnumerableおよびQueryの2つのモジュールがあり、それぞれSystem.Linq.Enumerable(リンク)およびSystem.Linq.Queryable(リンク)を実装している。配列、DOMノードリストまたは他のオブジェクト上での列挙を可能にする。

2つのモジュールはjsinq.Enumerableおよびjsinq.Queryである。クエリーの例は以下のとおりである。

var query = new jsinq.Query('\
    from order in $1 \
    group order by order.customerId into g \
    select {customerId: g.getKey(), items: g.sum(function(g) { return g.items; })} \
    into h \
    join customer in $0 on h.customerId equals customer.id \
    where h.items > 10 \
    orderby h.items descending \
    select {lastname: customer.lastname, items: h.items} \
');
query.setValue(0, customers);
query.setValue(1, orders);
var result = query.execute();

列挙の例は以下のとおりである。

var enumerator = namesThatStartWithAnA.getEnumerator();
while (enumerator.moveNext()) {
	var name = enumerator.current();
	document.write(name + '
');
}

Kai氏によると、JSINQは以下のことができる。

  • JavaScript配列、DOMノードリストまたは独自の列挙タイプに対し、任意で複雑なクエリーを記述する。
  • SQLのようなクエリーを使用して、HTML DOMツリーでエレメントを探す。
  • 宣言的な方法でXMLHttpRequestを通じで受信した JSONから、動的にHTMLエレメントを作成する。
  • XMLを研究し、何か別のものに変化させる。
  • 面白いやり方ですでに使用しているJavaScript-/Ajaxフレームワークとそれを結合する。
  • 宣言型プログラミングの機能を利用することで、記述するコードが少なくなる。
  • また、レイトレーサー(リンク)、モナドパーサー結合子(リンク)などを記述する。

Kai氏は、誰でもJSINQをテストできるようにとWebページ(リンク)を設置した。ソースコード(リンク)は、MITライセンス(リンク)下でCodePlexから無償でダウンロードすることができる。他の同様のプロジェクトには、JSLINQ(リンク)およびJLINQ(リンク)がある。

 

原文はこちらです:http://www.infoq.com/news/2009/02/JSINQ-JavaScript-LINQ

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT