JavaScriptプロトタイプを使用してメソッドを呼び出す 質問する

JavaScriptプロトタイプを使用してメソッドを呼び出す 質問する

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...*/);
}

おすすめ記事