Underscore.jsはJavaScriptで使用されるライブラリの一種です。便利な関数を100以上も用意していることで人気を集めております。開発者はJSフレームワークの『Backbone.js』も手掛けたJeremy Ashkenas 氏です。この記事ではUnderscore.jsを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説していきます。
Underscore.jsとはJavaScriptで使用されるライブラリの一種です。組み込みオブジェクトを拡張することなく、便利な関数型プログラミングヘルパーを100種類以上も提供しています。軽量で配列・オブジェクトの操作をよりシンプルに記述するためのライブラリとして人気を集めております。特徴として『関数型プログラミング』『100以上の関数を提供』『Backbone.jsが使用できる』などが挙げられます。
JavaScriptとはネットスケープコミュニケーションズ社によって1995年に誕生したプログラミング言語の一種でその中でもオブジェクト指向スクリプト言語に区分されます。主な目的として動的な機能をWebページに生成するためのプログラミング言語として開発されました。Webサイト、Webアプリ、ゲームなど様々な用途に活用できるため注目を集めております。
名称にJavaが含まれるためJavaの仲間と誤解を生むこともありますがJavaScriptは全く異なるプログラム言語です。開発当時サン・マイクロシステムズ社が開発したプログラミング言語『Java』が大きな注目を集めていたことや同社との業務提携を行った背景もありJavaにちなんだ名称が付けられました。JavaScriptフレームワークの代表的な種類としてjQuery、AngularJS、Vue.jsなどが挙げられます。
Underscore.jsは2009年にJeremy Ashkenas氏によって開発されました。開発をしてまもなくの頃、Ashkenas氏が同時期に関わっていたJavaScript向けライブラリである「Lodash」へ注力をしており2015年前後にはUnderscore.jsの開発ペースは落ちたと言われております。Githubのリリース記録によると初版の誕生から「Underscore.js 1.0.0」の公開まで約1年と早いスパンでバージョンアップをしております。簡単に以下の年表にまとめておりますのでご覧ください。
年代 | 内容 |
2009年 | 「Underscore.js」誕生 |
2010年 | 「Underscore.js 1.0.0」リリース |
2013年 | 「Underscore.js 1.5.0」リリース |
2015年 | 「Underscore.js 1.8.0」リリース |
2020年 | 「Underscore.js 1.10.0」リリース |
2021年4月 | 「Underscore.js 1.13.0」リリース |
Underscore.jsの特徴を見ていきましょう。
Underscore.jsは関数型プログラミングを採用しているという特徴があります。関数型プログラミングとは関数の組み合わせによって課題を解決する仕組みで構成されるプログラミング言語の種類です。宣言型プログラミング言語の一種であり、関数は引数の適用から先行式の評価を後続式の適用につなげて終端の評価を導き出す式のツリー構造として定義されます。
関数型プログラミングの歴史や特徴などの基礎知識について解説された記事はこちら>>
Underscore.jsは100以上の関数を提供しているという特徴があります。配列,オブジェクトの操作など便利な機能が数多く取り揃えられていることが人気の大きな理由の一つです。「map」「 filter」「 reduce」 といった関数型プログラミング言語でお馴染みの高階関数も定義されています。
Underscore.jsはBackbone.jsが使用できるという特徴があります。Backbone.jsはJeremy Ashkenas氏によって開発されたWebアプリケーションフレームワークです。こちらはUnderscore.jsを用いなければ使用できません。2010年10月に誕生し、その他フレームワークと違って双方向バインディングなどの機能は持ち合わせておらず、画面周りの動作を実装する場合には他のフレームワークとの併用を必要とします。その名の通りMVCに基づいて骨組みを提供するフレームワークとなっております。
Backbone.jsの特徴や歴史などの基礎知識について解説された記事はこちら>>
Underscore.js以外の代表的なJavaScript環境向けライブラリを見ていきましょう。
jQueryとはJavaScripitaに活用されるジョン・レシグ(John Resig)氏によって開発されたオープンソースWebアプリケーションフレームワークです。2006年8月に誕生し、基本理念を『write less, do more(少ない記述で、もっと多くのことをする)』を掲げております。特徴として非常に簡単でかつ少ない記述でHTMLとCSSを操作することができます。またjQueryを利用する世界中の方々が様々なプラグインの作成を行っていることから拡張性が高いことも特徴として挙げられます。jQueryはJavaScirptの発展に大きく影響を与えたフレームワークと言えるでしょう。
LodashとはJavaScriptで使用されるライブラリの一種です。Underscore.jsの開発をしたJeremy Ashkenas氏が同プロジェクトに携わっていたことでも知られております。LodashはJavaScriptのユーティリティライブラリとして様々な機能を提供しています。配列の操作、抽出、オブジェクトへの変換などが簡単にできることでも人気を集めております。特徴として『ユーティリティ』『モジュールフォーマット』『関数型プログラミング』などが挙げられます。
Lodashの公式サイトはこちら>>
Lodashの特徴や歴史などの基礎知識について解説された記事はこちら>>
Underscore.jsを理解するために初心者でも分かる歴史、特徴、基礎知識などを簡単に解説させていただきました。Underscore.jsを一言で表すと『軽量で便利な関数を100以上も用意しているJavaScript向けライブラリ』です。特徴として『関数型プログラミング』『100以上の関数を提供』『Backbone.jsが使用できる』などが挙げられます。Underscore.jsについてこの記事に書かれている最低限の内容は理解をしておくようにしましょう。