JavaScriptの関数をメソッドとして呼び出す方法を解説
JavaScript関数をメソッドとして呼び出す方法
JavaScriptでは、関数をオブジェクトのプロパティとして簡単に代入できます。代入された関数は、そのオブジェクトのメソッドとして扱われ、括弧 () を使って呼び出すことが可能です。
メソッドとして呼び出された関数の内部では、this キーワードがそのオブジェクト自身を参照します。これにより、オブジェクトが持つ他のプロパティへ自由にアクセスできます。
サンプルコード
以下のコードを実行すると、JavaScriptの関数をメソッドとして呼び出す方法を確認できます。
<html>
<head>
<script>
var employee = {'empname': 'David'}
employee.name = function() {
return this.empname;
}
document.write(employee.name());
</script>
</head>
</html>
コードの解説
このサンプルでは、employee オブジェクトに empname プロパティが定義されています。その後、employee.name に関数を代入することで、この関数がオブジェクトのメソッドとして登録されます。
employee.name() を呼び出すと、関数内の this は employee オブジェクトを指すため、this.empname によって「David」という値が取得され、画面に出力されます。
このように、関数をオブジェクトのプロパティに代入してメソッド化することで、オブジェクトの状態(プロパティ)を操作する処理を、そのオブジェクトにまとめて定義できます。オブジェクト指向的なコード設計において非常に重要なテクニックです。
-
JavaScriptで関数を「関数」として呼び出す方法と「メソッド」として呼び出す方法の違い
JavaScriptでは、同じ関数でも呼び出し方によって「関数としての呼び出し」と「メソッドとしての呼び出し」という2つの使い方ができます。この2つの大きな違いは、関数内でthisが何を参照するかという点にあります。 2つの呼び出し方の違い 関数としての呼び出し:関数名を直接記述して呼び出します(例:add(2, 3))。この場合、thisはグローバルオブジェクト(ブラウザ環境ではwindow)を参照します。 メソッドとしての呼び出し:オブジェクトのプロパティ経由で呼び出します(例:obj.welcome())。この場合、thisはそのオブジェクト自身を参照するため、オブジェクトが持つプロパ
-
JavaScriptでfind()メソッドに似たカスタム関数を作成する方法
ここでは、studentId(学生ID)と studentName(学生名)のレコードを格納した配列を例に、特定の学生名が存在するかどうかをチェックする方法を解説します。const studentDetails = [ { studentId: 101, studentName: John }, { studentId: 102, studentName: David }, { studentId: 103, studentName: Carol }