JS のオブジェクトメソッド
1. オブジェクトメソッドとは?
メソッド(Methods)とは、オブジェクトに対して実行できるアクションのことです。
メソッドの本体は、プロパティの値として格納された関数(Functions)です。
1.1 コード例
const person = {
firstName: "ジョン",
lastName: "ドウ",
age: 50,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};| プロパティ | プロパティの値 |
|---|---|
| firstName | ジョン |
| lastName | ドウ |
| age | 50 |
| fullName | function() { return this.firstName + " " + this.lastName; } |
2. thisキーワード
オブジェクトメソッド内において、this はそのオブジェクト自体を参照します。
2.1 例1
const person = {
firstName: "ジョン",
lastName: "ドウ",
id: 5566,
getId: function() {
return this.id;
}
};
let number = person.getId();上記の例では、this は personオブジェクトを参照しています。
つまり、this.id は personオブジェクトの idプロパティを意味します。
2.2 例2
const person = {
firstName: "ジョン",
lastName: "ドウ",
age: 50,
fullName: function() {
return this.firstName + " " + this.lastName;
}
};この例でも、this は personオブジェクトを参照しています。this.firstName は personオブジェクトの firstNameプロパティを、this.lastName は personオブジェクトの lastNameプロパティを指します。
3. オブジェクトメソッドへのアクセス
オブジェクトのメソッドを呼び出す(実行する)には、丸括弧 () を付けます。
括弧を付けない場合は、関数そのものが返されます。
3.1 構文
objectName.methodName()括弧を付けてメソッドを呼び出すと、関数として実行されます:
3.2 実行例
name = person.fullName();括弧を付けずにメソッドを呼び出すと、関数定義が返されます:
3.3 定義参照の例
name = person.fullName;4. オブジェクトへのメソッド追加
プロパティに関数を代入することで、既存のオブジェクトにメソッドを後から追加することができます。
4.1 メソッド代入の例
// person.name に関数を代入
person.name = function () {
return this.firstName + " " + this.lastName;
};上記の例では、person.name というプロパティに関数が割り当てられ、メソッドとして機能するようになります。
5. JavaScript組み込みメソッドの活用
この例では、JavaScript標準の toUpperCase() メソッドを使用して、テキストを大文字に変換するメソッドを定義しています。
5.1 応用例
person.name = function () {
return (this.firstName + " " + this.lastName).toUpperCase();
};6. まとめ
- メソッドとは、オブジェクトのプロパティとして格納された関数のことである
- メソッドを呼び出す際は、丸括弧を使用する:
person.fullName() - メソッド内において、
thisはそのオブジェクト自身を参照する - プロパティに関数を代入することで、オブジェクトにメソッドを動的に追加できる