JavaScriptオブジェクトメソッド
例
const person = {
firstName: "John",
lastName: "Doe",
id: 5566,
fullName: function() {
return this.firstName + " " +
this.lastName;
}
};
このキーワード_
関数定義では、関数this
の「所有者」を指します。
上記の例でthis
は、 fullName関数を「所有する」
personオブジェクトです。
つまり、this.firstNameは、このオブジェクトのfirstNameプロパティを意味します。
JS thisKeywordthis
でキーワードの詳細をお読みください。
JavaScriptメソッド
JavaScriptメソッドは、オブジェクトに対して実行できるアクションです。
JavaScriptメソッドは、関数定義を含むプロパティです。
財産 | 価値 |
---|---|
ファーストネーム | ジョン |
苗字 | Doe |
年 | 50 |
目の色 | 青い |
フルネーム | function(){return this.firstName + "" + this.lastName;} |
メソッドは、オブジェクトのプロパティとして保存される関数です。
オブジェクトメソッドへのアクセス
次の構文でオブジェクトメソッドにアクセスします。
objectName.methodName()
通常、fullName()はpersonオブジェクトのメソッドとして記述し、fullNameはプロパティとして記述します。
fullNameプロパティは、()で呼び出されると(関数として)実行されます。
この例では、personオブジェクトのfullName()メソッドにアクセスします。
例
name = person.fullName();
()なしでfullNameプロパティにアクセスすると、関数定義が返されます。
例
name = person.fullName;
オブジェクトへのメソッドの追加
オブジェクトに新しいメソッドを追加するのは簡単です。
例
person.name = function () {
return this.firstName + " " + this.lastName;
};
組み込みメソッドの使用
この例ではtoUpperCase()
、Stringオブジェクトのメソッドを使用して、テキストを大文字に変換します。
let message = "Hello world!";
let x = message.toUpperCase();
上記のコードを実行した後のxの値は次のようになります。
HELLO WORLD!
例
person.name = function () {
return (this.firstName + " " + this.lastName).toUpperCase();
};