Наследование Javascript и переопределение метода

Предположим, у меня есть такой класс:

function Widget() {
    this.id = new Date().getTime();
    // other fields
}
Widget.prototype = {
    load: function(args) {
        // do something
    }
}

Из этого класса я создал несколько других классов, которые наследуют тот же прототип, но имеют несколько дополнительных методов. Я хочу иметь возможность определить метод load () в подклассах, который сначала вызывает родительский метод, а затем выполняет некоторый код. Примерно так:

SpecialWidget.prototype = {
    load: function(args) {
        super.load(args);
        // specific code here
    }
}

Я знаю, что в Javascript нет ключевого слова super, но должен быть способ сделать это.

31
задан Cœur 18 March 2017 в 08:27
поделиться