Underscore.jsおさらい1(概要)

Underscoreのドキュメントを見直していたら、「これ使えてたわ」ということがあったので、機能一覧ぐらいは頭に叩き込むためにおさらいする。

参考
Underscore.js
遅すぎたUnderscore.js入門 - 全体像 - Qiita

全体概要

Underscoreはいわゆる便利系関数のJavaScriptライブラリ。
jQueryは不要で単体で使えるのが手軽。Backbone使うなら必須。

機能概要

  • Collections
    • forEachやソートといった、配列などの集合データの操作系
  • Arrays
    • 配列操作系、Collectionsは『配列+ハッシュ配列(オブジェクト)』が対象なのに対して、Arraysは純粋な配列のみ
  • Functions
    • JavaScriptではよくある関数を引数に取る関数群
  • Objects
    • keyやvalueの一覧取得、clone、extendといったオブジェクト操作系
  • Utility
    • ユーティリティ機能
  • Chaining
    • 関数の戻り値を別の関数の引数に・・・とすると階層が深くなって困るので、メソッドチェーンで書けるようにできる
    • Javaな人はJava8のコレクションでstream APIを想像すれば分かりやすいかも

context引数

引数に[context]がある場合は、contextとして渡したオブジェクトが関数内でthisとして扱える。
ざっくりループ系の機能についている感じ。

var obj = {a: 0};
_.each([1, 2, 3], function(element){this.a += element }, obj);
=> obj.a = 6