Mejor manera de llamar al método de superclase en ExtJS

Toda la documentación y los ejemplos de ExtJS que he leído sugieren sugerir métodos de superclase como este:

MyApp.MyPanel = Ext.extend(Ext.Panel, {
  initComponent: function() {
    // do something MyPanel specific here...
    MyApp.MyPanel.superclass.initComponent.call(this);
  }
});

He estado usando este patrón durante bastante tiempo y el problema principal es que cuando cambias el nombre de tu clase, también tienes que cambiar todas las llamadas a los métodos de superclase. Eso es bastante inconveniente, a menudo lo olvidaré y luego tendré que rastrear errores extraños.

Pero leyendo la fuente deExt.extend() Descubrí, que en vez de eso podía usar elsuperclass() osuper() métodos queExt.extend() Se suma al prototipo:

MyApp.MyPanel = Ext.extend(Ext.Panel, {
  initComponent: function() {
    // do something MyPanel specific here...
    this.superclass().initComponent.call(this);
  }
});

En este código, cambiar el nombre de MyPanel a otra cosa es simple: solo tengo que cambiar una línea.

Pero tengo dudas ...

No he visto esto documentado en ninguna parte y la vieja sabiduría dice que no debería confiar en el comportamiento indocumentado.

No encontré un solo uso de estossuperclass() ysupr() Métodos en el código fuente de ExtJS. ¿Por qué crearlas cuando no las vas a usar?

Tal vez estos métodos se usaron en una versión anterior de ExtJS pero ¿están obsoletos ahora? Pero parece una característica tan útil, ¿por qué lo desapruebas?

Entonces, ¿debería usar estos métodos o no?

Respuestas a la pregunta(6)

Su respuesta a la pregunta