tweeeetyのぶろぐ的めも

アウトプットが少なかったダメな自分をアウトプット<br>\(^o^)/

underscore.jsのbindを使ってみるテスト

underscore.jsのbindとカリー化について書かれてる記事はいくつかありますが
自分もまだまだわかってません。

うまく説明できるレベルには理解しなきゃダメですが
自分のためにも同じような方のためにも
とりあえずコレ見たらなんとなくわかりそうっていうサンプルだけ書いておきます

サンプル

bind_test.hml
// プロパティにnameを持つpersonオブジェクトを作る
// 何かしゃべらせるsayファンクションも追加する
var person = { name : "hoge" };
person.say = function(str){console.log(str + this.name);};
person.say("hi! my name is ");

// sayファンクションだけコピーしたつもり
// 結果は「i am hoge」だと思ってるが、そうならない
var say1 = person.say;
say1("i am ");

// bindすることでthisをpersonで束縛
// 結果は「i am hoge」になる
var say2 = _.bind(person.say, person);
say2("i am ");
結果

hi! my name is hoge
i am
i am hoge

なんとなくはわかるんですけど、ちゃんと理解しないとダメですね
てか、↑すら使い方間違ってたらすみません汗