JavaScriptのオブジェクトメソッドとは?基本の考え方とアクセス方法を解説
JavaScriptにおけるメソッドとは
JavaScriptにおける「メソッド」とは、オブジェクトに対して実行される動作(アクション)のことです。メソッドはオブジェクトのプロパティの一種であり、文字列や数値などのデータと同じように、オブジェクトの中に関数として格納されます。
例えば、従業員(employee)オブジェクトを考えてみましょう。「名前:Amit」「部署:Marketing」「社員ID:001」といった情報がプロパティとして格納されているように、それらの情報を組み合わせて表示する処理も、detailsのようなメソッドとして持たせることができます。
オブジェクトメソッドへのアクセス方法
JavaScriptでオブジェクトのメソッドにアクセスするには、ドット記法(.)を使って次のように記述します。
object.method()
具体的な例として、employeeオブジェクトのdetailsメソッドを呼び出す場合は以下のようになります。
employee.details()
サンプルコード
以下のコードを実行すると、オブジェクトメソッドの定義から呼び出しまでの一連の流れを確認できます。
<html>
<head>
<script>
var employee = {
empname: "Amit",
department: "Marketing",
id: 001,
details: function() {
return this.empname + " with ID: " + this.id;
}
};
document.write(employee.details());
</script>
</head>
</html>コードのポイント
このサンプルでは、employeeオブジェクトの中にdetailsというメソッドを定義しています。メソッド内で使われているthisは、そのメソッドが属するオブジェクト自身(ここではemployee)を参照します。つまり、this.empnameは「Amit」、this.idは「001」を指します。
実行結果
上記のコードをブラウザで実行すると、detailsメソッドが呼び出され、画面には次のように表示されます。
Amit with ID: 1
なお、ES6以降ではfunctionキーワードを省略した短縮記法(details() { ... })でもメソッドを定義できるため、より簡潔にコードを書くことが可能です。
-
JavaScriptの部分関数(Partial Function)とは?仕組みと実装例をわかりやすく解説
部分関数(Partial Function)とは、既存の関数を引数として受け取り、それに加えて別の型の引数も同時に受け取れるようにする仕組みです。まず渡された引数の一部を使い、残りの引数を受け取る新しい関数を返します。そして、返された関数が呼び出されるときに、あらかじめ固定しておいた引数とそのときに渡された引数をすべて組み合わせて、元の親関数が実行されます。 この手法は「部分適用(Partial Application)」とも呼ばれ、関数型プログラミングの基本的なテクニックのひとつです。共通する引数を先に束縛しておくことで、処理の再利用性やコードの可読性を高めることができます。 コード例 以下
-
JavaScriptのアロー関数を使ってはいけない場面とは?オブジェクトメソッドでの落とし穴
JavaScriptのアロー関数(矢印関数)は、コードを簡潔に書ける便利な構文ですが、あらゆる場面で使えるわけではありません。特にオブジェクトのメソッドとしてアロー関数を定義するのは避けるべきです。 その理由は、アロー関数には独自のthisが存在しないためです。アロー関数は、定義された場所を取り囲むレキシカルスコープからthisの値を受け取ります。グローバルスコープで定義した場合、そのthisはオブジェクト自身ではなくwindowオブジェクトを参照します。 その結果、本来なら対象オブジェクトのプロパティに対して行うはずの設定や参照が、誤ってwindowオブジェクトのプロパティに対して実行され