Function.prototype.apply()【関数呼出し (配列引数)】メソッド

メモ

  • 引数を配列として関数呼出し
  • 可変長引数を配列引数に置換可能
  • 他のオブジェクトのメソッド呼び出し
  • 継承
  • 処理の汎化
  • 可変引数の関数呼出し:call ()【関数呼出し (可変引数)】

構文

  • apply ( [thisArg [, argArray]] )

  • thisArg:関数内でthisで参照される値 (省略 または null:グローバルオブジェクト)
  • argArray:引数の配列オブジェクト (リテラル配列・Array【配列】オブジェクト等)

指定関数の戻り値

TypeError 例外:関数が呼び出し不可 または 引数がオブジェクト以外

var funcA = function(x, y, z) {
  return (x + y + z);
}

var funcB = function(x, y, z) {
  return (this + x + y + z);
}

console.log(funcA.apply(null, [1, 2, 3]));    // 出力:6

console.log(funcB.apply(100, [1, 2, 3]));     // 出力:106

console.log(Math.max.apply(null, [1, 2, 3])); // 出力:3

console.log(funcA.apply(null, 123));          // TypeError 例外

関連