Как переопределить методы JavaScript
Я пытаюсь изучить фреймворк Ember, и я нашел этот образец кода в документации Ember. Я новичок в JavaScript и, пожалуйста, помогите мне понять, как был получен следующий результат.
Person = Ember.Object.extend({
say: function(thing) {
var name = this.get('name');
alert(name + " says: " + thing);
}
});
Soldier = Person.extend({
say: function(thing) {
this._super(thing + ", sir!");
}
});
var yehuda = Soldier.create({
name: "Yehuda Katz"
});
yehuda.say("Yes");
вывод: предупреждения "Иегуда Кац говорит: Да, сэр!"
Проблема со мной в том, как выполнялась функция say в классе Person, потому что она была переопределена в приведенном ниже классе Soldier. Я кое-что застрял в вызове метода здесь. И что здесь делает ключевое слово super. Спасибо
документация: https://guides.emberjs.com/v1.11.0/object-model/