applyメソッド

メソッド apply は、指定されたコンテキストで関数を呼び出すことを可能にします。 メソッドの最初のパラメータとして関数のコンテキストを指定し、 2番目として関数のパラメータの配列を指定します。

構文

javascript関数.apply(コンテキスト, パラメータの配列);

例

以下の入力フィールドがあるとします:

html<input id="elem" value="text">

また、3つのパラメータを受け取る関数があるとします:

javascriptfunction func(param1, param2, param3) {
  console.log(this.value + param1 + param2 + param3);
}

関数内の this が入力フィールドと等しくなるように関数を呼び出し、 同時にパラメータとして数値 1、 2、 3 を渡してみましょう:

javascriptlet elem = document.querySelector('#elem');
func.apply(elem, [1, 2, 3]);

例

関数がパラメータを受け取らない場合:

javascriptfunction func() {
  console.log(this.value);
}

この場合、 apply を通じてこの関数を呼び出すとき、 コンテキストを持つ最初のパラメータのみを渡せば十分です:

javascriptlet elem = document.querySelector('#elem');
func.apply(elem);

関連項目

  • メソッド call,
    コンテキストを指定して関数を呼び出します
  • メソッド bind,
    コンテキストを関数にバインドします