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

JavaScriptの関数とメソッドの違いとは?初心者向けにわかりやすく解説

はじめに:JavaScriptで混乱しやすい「関数」と「メソッド」

JavaScriptの用語は、定義が似通っているものが多く、初心者が混乱しやすいポイントの一つです。「メソッド」と「関数」の違いもその代表例と言えるでしょう。

まず、次の2つの事実を押さえておきましょう。

  • メソッドは関数の一種である。
  • 関数とは、呼び出すことでコードを実行できる仕組みのこと。

つまり、関数とメソッドの違いは「どのように使われるか」という点にあります。

通常の関数(スタンドアロン関数)とは

通常の関数は独立して存在しており、関数呼び出しによってトリガーされて実行されます。

通常の関数の例:

function alertMessage() {
  alert("アラートメッセージが表示されました!")
}

// alertMessage関数を呼び出す
alertMessage()

このように、通常の関数はどこにも属さず、単独で定義され、名前を指定して呼び出すだけで実行できます。

メソッドとは

メソッドとは、オブジェクトのプロパティに割り当てられた関数のことです。

別の言い方をすれば、「オブジェクトのプロパティである関数」こそがメソッドだと定義できます。

メソッドの例:

const blackFridayDeals = {
  sony: 'Playstation 5',
  discountPopup: function () {
    alert(`本日限定!${this.sony}が50%オフ!`)
  },
}

blackFridayDeals.discountPopup()

上記のコード例では、blackFridayDealsというオブジェクトを定義しています。

blackFridayDealsオブジェクトのプロパティの1つがdiscountPopupです。

discountPopupには関数が割り当てられており、これを実行するとalert()によるダイアログが表示されます。ちなみに、alert()自体もJavaScriptに標準で組み込まれているメソッド(ビルトインメソッド)です。

まとめ:関数とメソッドの違い早見表

項目関数メソッド
存在形態独立している(スタンドアロン)オブジェクトのプロパティとして定義される
呼び出し方関数名()で直接呼び出すオブジェクト名.メソッド名()で呼び出す
コード例alertMessage()blackFridayDeals.discountPopup()

このように、メソッドも本質的には関数ですが、「オブジェクトに紐づいているかどうか」が最大の違いです。この概念をしっかり理解しておくと、thisキーワードの挙動やオブジェクト指向プログラミングなど、JavaScriptのより深い部分の理解にもつながりますよ。

  1. CPUコアとスレッドの違いとは?仕組みをわかりやすく徹底解説

    「CPUのコアとスレッドって何が違うの?」と疑問に思ったことはありませんか?本記事では、CPUコアとスレッドの違いについて、初心者の方にもわかりやすく徹底的に解説します。 コンピューターの授業で最初に習ったことは何でしょうか?そう、「CPUはコンピューターの頭脳である」ということです。しかし、いざ自分のPCを購入する段階になると、CPUのことをあまり深く考えなくなっていませんか?その理由の一つは、そもそもCPUについて詳しく知る機会がなかったことにあるのかもしれません。 デジタル時代の現在、テクノロジーの進化により多くのことが変化しました。かつてはクロック周波数だけでCPUの性能を測ることがで

  2. Windows 10の標準ユーザーと管理者アカウントの違いとは?アカウント種類の変更方法も解説

    Windows 10における「標準ユーザーアカウント」と「管理者アカウント」の違いについて疑問を持ったことはありませんか?「管理者アカウントではなく、普段の作業は標準アカウントで行うべきなのか」「Windows 10のユーザーアカウントの種類を変更する方法は?」といった疑問をお持ちの方に向けて、この記事ではすべての質問にお答えします。 Microsoftは、すべてのWindows OSにおいて「標準ユーザー」と「管理者」という2種類のユーザーアカウントを提供しています。それぞれのアカウントには、以下のような役割と意味があります。 管理者アカウント:コンピュータへの完全な制御権とフルアクセ