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のより深い部分の理解にもつながりますよ。
-
CPUコアとスレッドの違いとは?仕組みをわかりやすく徹底解説
「CPUのコアとスレッドって何が違うの?」と疑問に思ったことはありませんか?本記事では、CPUコアとスレッドの違いについて、初心者の方にもわかりやすく徹底的に解説します。 コンピューターの授業で最初に習ったことは何でしょうか?そう、「CPUはコンピューターの頭脳である」ということです。しかし、いざ自分のPCを購入する段階になると、CPUのことをあまり深く考えなくなっていませんか?その理由の一つは、そもそもCPUについて詳しく知る機会がなかったことにあるのかもしれません。 デジタル時代の現在、テクノロジーの進化により多くのことが変化しました。かつてはクロック周波数だけでCPUの性能を測ることがで
-
Windows 10の標準ユーザーと管理者アカウントの違いとは?アカウント種類の変更方法も解説
Windows 10における「標準ユーザーアカウント」と「管理者アカウント」の違いについて疑問を持ったことはありませんか?「管理者アカウントではなく、普段の作業は標準アカウントで行うべきなのか」「Windows 10のユーザーアカウントの種類を変更する方法は?」といった疑問をお持ちの方に向けて、この記事ではすべての質問にお答えします。 Microsoftは、すべてのWindows OSにおいて「標準ユーザー」と「管理者」という2種類のユーザーアカウントを提供しています。それぞれのアカウントには、以下のような役割と意味があります。 管理者アカウント:コンピュータへの完全な制御権とフルアクセ