JSINQとは?

JSINQはJavaScriptでLINQ to Objectを使用するためのライブラリだ。LINQは.NET Frameworkで提供されているオブジェクトをSQLライクなクエリ言語で検索するための機能で、JSINQは.NET Framework 4.0のLINQの完全な実装とされている。

図1 JSINQのWebサイト

なお、JSINQはMITライセンスのもとで利用可能なオープンソースソフトウェアで、本稿執筆時点の最新版は2010年4月にリリースされた1.0.0.1となっている。

JSINQを試してみよう

JSINQのWebサイトではオンラインでJSINQを試すことのできるサンプルが公開されている。まずはこれを利用してJSINQを試してみよう。

図2 JSINQのサンプル

このアプリケーションでは画面下のテキストエリアにクエリを入力して検索を行うことができる。初期状態では以下のクエリが表示された状態になっている。

from customer in $0
where customer.lastname.charAt(0) == 'S'
select {id: customer.id, name: customer.firstname + ' ' + customer.lastname}

このクエリは$0で指定されたオブジェクト(このサンプルアプリケーションではCustomerのリスト)の中からwhere句で指定しているように lastnameプロパティの先頭が'S'ではじまるものを検索し、idプロパティおよびfirstnameプロパティとlastnameプロパティを結合したものを選択するという意味になる。

SQLライクであるため、SQLに慣れた開発者であれば理解は容易だろう。また、where句で指定しているように任意のJavaScript式を記述することができるため、自由度の高い検索を行うことが可能だ。

サンプルアプリケーションにはこのほかにもいくつかのクエリがサンプルとして用意されているので、実際に試してみてほしい。