Показать сообщение отдельно
  #266 (permalink)  
Старый 22.07.2015, 12:34
Аватар для kobezzza
Быдлокодер;)
Отправить личное сообщение для kobezzza Посмотреть профиль Найти все сообщения от kobezzza
 
Регистрация: 19.11.2010
Сообщений: 4,338

Паттерн для организации Partial классов:

base.js
export class Base {
  get() {
    return 1;
  }
}


child.js
import { Base } from 'base';
export class Child extends Base {
  
}


child-mixin.js
import { Child } from 'child';
extend(Child, /** @lends {Child.prototype} */ { // Аннотация для автокомплита в WS11 и GCC
  get() {
    return super.get(); // super работает
  }
});


Сама функция extend
function extend(Class, mixin) {
  mixin.__proto__ = Class.__proto__.prototype;
  for (let key in mixin) {
    Class.prototype[key] = mixin[key];
  }
}
__________________
kobezzza
code monkey

Последний раз редактировалось kobezzza, 22.07.2015 в 15:13.
Ответить с цитированием