JavaScript メソッドは、オブジェクト上で実行できるアクションです。
JavaScript メソッド は、関数定義 を含むプロパティです。
プロパティ | 値 |
---|---|
firstName | John |
lastName | Doe |
age | 50 |
eyeColor | blue |
fullName | function() {return this.firstName + " " + this.lastName;} |
メソッドは、オブジェクトのプロパティとして格納さた関数です。
次の構文で、オブジェクト・メソッドを作成します:
methodName : function() { code lines }
次の構文で、オブジェクト・メソッドにアクセスします:
objectName.methodName()
通常は、person オブジェクトのメソッドとして fullName() を、プロパティとして fullName を記述します。
fullName プロパティは、() で呼び出されたときに(関数として)実行されます。
この例は、person オブジェクトの fullName() メソッドにアクセスします:
fullName プロパティに () なしでアクセスした場合は、関数定義が返されます:
この例では、テキストを大文字に変換するため、String オブジェクトの toUpperCase() メソッドを使用しています:
var message = "Hello world!";
var x = message.toUpperCase();
value of x, after execution of the code above will be:
HELLO WORLD!
オブジェクトにメソッドを追加するには、コンストラクタ関数の内部で行います:
function person(firstName, lastName, age, eyeColor) {
this.firstName = firstName;
this.lastName = lastName;
this.age = age;
this.eyeColor = eyeColor;
this.changeName = function (name) {
this.lastName = name;
};
}
changeName() 関数は、person の lastName プロパティに名前の値を代入します。
JavaScript は、 this を myMother に「置き換える」ことによって、どの person を対象にするのかを理解します。