JavaScriptでは、関数もオブジェクトです。 この、関数オブジェクトを使用してクラスのようなオブジェクトを定義してみます。
function Person() {
}
var user = new Person();
上記例では、function Personでクラスが定義され new により インスタンスが作成されます。 このPersonには、何も定義していませんが toSource などのメソッドを使用することができます。 これは、Objectオブジェクトのインスタンスを参照しているためです。
インスタンス化されるとthis 引数としてコンストラクタに作成されたオブジェクト渡されます。 それでは、コンストラクタで値を設定してみます。
function Person(_name) {
this.name = _name; //プロパティ
}
var user = new Person('bnote');
window.alert(user.name);
JavaScriptでは、prototypeというプロパティを使って オブジェクトにメソッドやプロパティを 動的に追加することができます。 Personオブジェクトのprototypeプロパティを使って メソッドを追加します。
function Person(_name) {
this.name = _name; //プロパティ
}
Person.prototype.getName = function (){
return this.name;
}
var user = new Person('bnote');
window.alert(user.getName());
Copyright 1997-2008 BBB All rights reserved.