[JavaScript] あまり使わないbind関数調査

Pocket
LINEで送る
GREE にシェア
LinkedIn にシェア

JavaScriptであまり使わなかった関数のひとつでもある「bond」を調査してみました。
前回の「call」も、頻度高く使うイメージは無いですが、この辺の関数を熟知しているかどうかがJavaScriptを理解できているかのポイントだと思いましたね。

事前知識

bindでもcall関数に引き続いてthisの事を熟知しておきましょう。

this

thisを指定しているトコロの上位階層の事を指すと考えるのが一番分かりやすい。
下のサンプルでは「aaa」の下位階層に「bbb」と「ccc」がいて、それぞれ、タイプは違うが、「bbb」と「ccc」のthisは親階層である「aaa」であるという事。

あとprototypeとnew宣言も理解しておかないと厳しいかも・・・

サンプル

通常使用方法

受け渡し値を固定化する

**.bind(this対象関数,引数)

とすると、引数を固定化することが可能になる。

結論

bindは、内部関数におけるthisの扱いを別関数に移譲することができるという点と、変数の固定化をすることにより
関数の引き渡し値を少しだけ効率的に個別設置できるというメソッドなのですね。

便利に使いこなせるといいかもしれないけど、多用すると、callと同じようにコードレビューがやりずらくなる可能性はありますね。
コメントで回避しましょう。

参考サイト

https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Function/bind

Leave a Reply

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です