_SAPUI5
_アプリケーションのコントローラーのonInit
関数の一部に、次のような自動生成コードがあります。
_ this.getView().addEventDelegate({
onBeforeFirstShow: function() {
// Some codes
}.bind(this)
});
_
さて、私の質問は.bind(this)
の意味は何ですか?それは何をするためのものか?それは純粋なJavaScriptコードですか、それともSAPUI5に関連していますか?
関数のリスナーを現在のクラスにバインドし、this
関数内でonBeforeFirstShow
ポインターを使用すると、this
ポインターがカプセル化されたクラスを参照し、アクセスできますそのメンバーに。
はい、それは純粋なjavascriptコードです、あなたはバインドが何で、何をするかについてもっと学ぶことができます ここ
Bind()メソッドは、呼び出されたときにthisキーワードが指定された値に設定された新しい関数を作成します。指定された引数のシーケンスは、新しい関数が呼び出されたときに指定された引数に先行します。
この場合、基本的には現在のthis
をその関数にバインドしています。そのため、onBeforeFirstShow
が呼び出されると、その関数内のthis
がbind
関数に渡されるものになります。
ES6の新しい矢印関数の構文を確認することもできます。これは、現在のthis
を自動バインドするため、bind(this)
は必要ありません。
bind()
メソッドは、呼び出されたときにthisキーワードが指定された値に設定された新しい関数を作成します。指定された引数のシーケンスは、新しい関数が呼び出されたときに指定された引数に先行します。
構文
fun.bind(thisArg [、arg1 [、arg2 [、...]]])