JavaScript 速習チュートリアル

JS のオブジェクトメソッド

1. オブジェクトメソッドとは?

メソッド(Methods)とは、オブジェクトに対して実行できるアクションのことです。
メソッドの本体は、プロパティの値として格納された関数(Functions)です。

1.1 コード例

const person = {
  firstName: "ジョン",
  lastName: "ドウ",
  age: 50,
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};
プロパティプロパティの値
firstNameジョン
lastNameドウ
age50
fullNamefunction() { 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();

上記の例では、thispersonオブジェクトを参照しています。
つまり、this.idpersonオブジェクトの idプロパティを意味します。

2.2 例2

const person = {
  firstName: "ジョン",
  lastName: "ドウ",
  age: 50,
  fullName: function() {
    return this.firstName + " " + this.lastName;
  }
};

この例でも、thispersonオブジェクトを参照しています。
this.firstNamepersonオブジェクトの firstNameプロパティを、this.lastNamepersonオブジェクトの 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 はそのオブジェクト自身を参照する
  • プロパティに関数を代入することで、オブジェクトにメソッドを動的に追加できる