JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptのapply()メソッドとは?基本構文と使い方をわかりやすく解説

JavaScriptのapply()メソッドは、call()メソッドとほぼ同じ働きをするメソッドです。両者の違いは、apply()では関数の引数を配列(または配列風オブジェクト)として渡す点にあります。

apply()メソッドの基本構文

func.apply(thisArg, [argsArray])
  • thisArg:関数内で this として参照される値を指定します。
  • argsArray:関数に渡す引数をまとめた配列を指定します。

サンプルコード

次のコードを実行して、apply()メソッドの実装方法を確認してみましょう。

<html>
   <head>
      <script>
         document.write("配列内の最大値: ");
         document.write(Math.max.apply(null, [50, 90, 18, 87]));
      </script>
   </head>
   
   <body>
   </body>
</html>

実行結果

配列内の最大値: 90

コードの解説

この例では、Math.max.apply(null, [50, 90, 18, 87]) を使用しています。通常、Math.max() は引数を個別に受け取りますが、apply()を使うことで配列の要素をそのまま引数として展開して渡すことができます。その結果、配列内の最大値である「90」が取得されます。

なお、ES2015(ES6)以降では、スプレッド構文(...)を使って Math.max(...[50, 90, 18, 87]) のように記述することも可能です。ただし、配列をそのまま渡したい場面や、古い環境との互換性を考慮する場合には、apply()メソッドが今でも有効な選択肢となります。

  1. JavaScriptのgetTime()メソッドとは?使い方とサンプルコードを解説

    getTime()メソッドとはJavaScriptのgetTime()メソッドは、1970年1月1日0時0分0秒(UTC、いわゆる「エポック」)から経過した時間をミリ秒単位で返すDateオブジェクトのメソッドです。この値はUnixタイムスタンプとしても知られており、日付の比較や計算、有効期限の管理など、さまざまな場面で活用されています。以下に、getTime()メソッドを使った具体的なサンプルコードを紹介します。サンプルコード<!DOCTYPE html> <html lang="ja"> <head> <meta charset=

  2. JavaScriptのsort()メソッドとは?配列ソートの基本と比較関数の使い方を解説

    JavaScriptのsort()メソッドは、配列の要素を並べ替えるための組み込みメソッドです。アルファベット順・数値順といった並べ替えの基準に加え、昇順・降順も自由に指定できます。デフォルトでは要素が文字列として比較され昇順にソートされますが、比較関数を渡すことで任意の順序を実現できます。 なお、sort()は元の配列そのものを変更する「破壊的メソッド」である点にも注意しましょう。元の配列を保持したい場合は、スプレッド構文([...arr])などで事前にコピーしておくのが安全です。 コード例 以下は、sort()メソッドを使って配列をソートするシンプルなサンプルコードです。 <!DO