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

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

JavaScriptのcall()メソッドとは

JavaScriptの call() メソッドは、関数を呼び出すときに、第一引数として渡した別のオブジェクトを「this」として扱うための仕組みです。これにより、あるオブジェクトに定義されたメソッドを、別のオブジェクトのコンテキストで再利用できるようになります。

基本構文

call() メソッドは以下の形式で使用します。

関数.call(thisArg, 引数1, 引数2, ...)
  • thisArg: 関数内で「this」として参照されるオブジェクト
  • 引数1, 引数2, ...: 呼び出す関数に渡す個々の引数(カンマ区切りで指定)

call()メソッドの実装例

以下のコードを実行すると、person オブジェクトの fullName() メソッドが、myObject を「this」として呼び出されます。

<html>
   <head>
      <script>
         var person = {
            Name:"John",
            Department: "Finance",
            fullName: function() {
               return this.Name + " is from " + this.Department + " Department";
            }
         }

         var myObject = {
            Name: "Amit",
            Department: "Marketing",
         }
         x = person.fullName.call(myObject);
         document.write(x);
      </script>
   </head>

   <body>
   </body>
</html>

実行結果

Amit is from Marketing Department

fullName() メソッド自体は person オブジェクトに定義されていますが、call(myObject) とすることで、「this」が myObject を指すようになります。そのため、出力される名前と部署は myObject のプロパティ値である「Amit」「Marketing」になります。

補足:apply()メソッドとの違い

似た動作をするメソッドに apply() があります。両者の違いは引数の渡し方のみで、call() は引数をカンマ区切りで個別に渡すのに対し、apply() は引数を配列としてまとめて渡します。

  1. JavaScript alert()メソッドの使い方を徹底解説!基本構文から実践例まで

    JavaScriptのalert()メソッド(Window.alert()とも呼ばれます)は、ユーザーにアラートダイアログボックスを表示するためのメソッドです。省略可能なメッセージ引数を受け取り、OKボタン付きのメッセージをユーザーに表示します。alert()は、処理が成功したことをユーザーに知らせたり、エラーを表示したりする場面でよく使われます。また、alert()は開発ツールとしても便利です。例えば、フォーム送信を処理する関数の中にalert()を配置することができます。一般的には、event.preventDefault()が呼び出された後にalert()を配置します。おさらいすると、e

  2. JavaScriptのcall()メソッドで引数を渡す方法をわかりやすく解説

    JavaScript call()メソッドとは?JavaScriptのcall()メソッドを使うと、あるオブジェクト向けに定義した関数を、別のオブジェクトのコンテキストで実行できます。thisの参照先を差し替えることで、同じメソッドを複数のオブジェクト間で再利用できるのが最大のメリットです。call()の特徴は、第1引数にthisとして渡したいオブジェクトを指定し、第2引数以降に関数へ渡す値をカンマ区切りで個別に指定する点です。引数を配列としてまとめて渡すapply()メソッドとの違いは、この部分にあります。サンプルコード以下は、call()メソッドに引数を渡して呼び出す具体例です。<!