JavaScript でプロトタイプ メソッドがオーバーライドされている場合、そのプロトタイプ メソッドから基本メソッドを呼び出すことは可能ですか?
MyClass = function(name){
this.name = name;
this.do = function() {
//do somthing
}
};
MyClass.prototype.do = function() {
if (this.name === 'something') {
//do something new
} else {
//CALL BASE METHOD
}
};
ベストアンサー1
正確に何をしようとしているのか分かりませんでしたが、通常、オブジェクト固有の動作の実装は次のように行われます。
function MyClass(name) {
this.name = name;
}
MyClass.prototype.doStuff = function() {
// generic behaviour
}
var myObj = new MyClass('foo');
var myObjSpecial = new MyClass('bar');
myObjSpecial.doStuff = function() {
// do specialised stuff
// how to call the generic implementation:
MyClass.prototype.doStuff.call(this /*, args...*/);
}