1. 背景
- this バインディングを理解するには、まず JavaScript における this の仕組みを把握する必要があります。
- ほとんどの場合、this の値は関数の呼び出し方(実行時バインディング)によって決まります。実行中に代入することはできず、関数を呼び出すたびに異なる値になる可能性があります。ES5 では、呼び出し方に関わらず関数の this の値を設定できる bind メソッドが導入されました。ES2015 ではアロー関数が導入されました。アロー関数は独自の this バインディングを持たず、this は外側のレキシカルコンテキストの値を保持します。
this - JavaScript | MDN https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this
2. YiDA アクションパネルにおける this
- JavaScript の this の仕組みを理解したうえで、YiDA のアクションパネルで関数を呼び出す際は、export キーワードが使われているかどうかを確認するだけです。
- 推奨事項:ページのコンテキストを一切扱わない純粋なユーティリティ関数(例:ランダムな文字列を生成する function uid() { return new Date().getTime().toString(32); })については、export キーワードを使用しないでください。それ以外の場合は、すべてのメソッドで export キーワードを使用し、this を介して呼び出す必要があります。