Теперь собственно зачем это нужно, за тем чтобы конструктор был таким же методом как и все остальные и тоже наследовался.
Иначе мы не сможем сделать нормальное наследование. Например:
function Button (){
document.createElement('div')
}
function Toggle (){
/* бла бла бла преключатель на основе кнопки */
}
Toggle.prototype = new Button;
ТАК ШТОЛЕ НАМ НАСЛЕДОВАНИЕ ДЕЛАТЬ? Вот и я про то, конструктор должен быть методом (в нашем случае это протектед метод
__construct который наследуется и скрытый)
А так же затем чтобы можно было удобно обращаться к перекрытым родительским методам через this.super().
а не так :
this.run = function(){
Object.getPrototypeOf(this).run.apply(this,arguments);
alert('...and jump')
}
все, больше у этой байды назначений нет. если вы не пользуете наследование в своих проектах то Class и
нахуй не нужна.
И вообще, для тех кто не понимает что такое ооп и что такое классы вообще, чтобы вы не плакались, замените название функции на Type.