まずは、擬似的な継承はこんな感じで実現できる
function Hito(name) {
this.name = name;
};
Hito.prototype.hello = function() {
alert('Hello! My name is ' + this.name);
};
function SuperMan(name) {
this.name = name;
}
//Hitoオブジェクトをプロトタイプに設定
SuperMan.prototype = new Hito();
var hulk = new SuperMan('Hulk');
//SuperManにhelloはないがプロトタイプチェインをたどり
//Hitoのhelloが見つかり実行される
hulk.hello();
JavaScriptにおける全てのオブジェクトは
Object.prototypeを継承しています。
・constructor
・toString
・toLocaleString
・valueOf
・hasOwnProperty
・isPrototypeOf
・propertyIsEnumerable
などのメソッドがObject.prototypeに含まれる
後からObject.prototypeに追加もできる
Object.prototype.hoge = function() {
alert('hoge');
}
"text".hoge();
0 件のコメント:
コメントを投稿