Как переопределить методы 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/

0 ответов

Другие вопросы по тегам