JavaScript オブジェクト・メソッド

❮ 前章へ 次章へ ❯

JavaScript メソッド

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() メソッドにアクセスします:

name = person.fullName();
Try it Yourself »

fullName プロパティに () なしでアクセスした場合は、関数定義が返されます:

name = person.fullName;
Try it Yourself »

組込みメソッドを使用する

この例では、テキストを大文字に変換するため、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 プロパティに名前の値を代入します。

試してみましょう:

myMother.changeName("Doe");
Try it Yourself »

JavaScript は、 thismyMother に「置き換える」ことによって、どの person を対象にするのかを理解します。


❮ 前章へ 次章へ ❯