pnpquest, на классах писать гораздо удобнее, чем на прототипах. Там и наследование нормальное, приватные данные, super и многое другое. Да и возможностей больше. Это конечно всё на прототипах тоже можно, но жутко неудобно.
В общем, когда модули/плагины писать будешь - поймёшь.
Вот как я реализовываю приватные функции и переменные на прототипах:
!function(window) {
var Private = {
foo: 'bar',
test: function() {
return Private.foo + '!!!';
}
};
window.MyClass = function() {
this.fooBar = Private.test.call(this);
};
}(window);
И как это можно написать на классах:
Class MyClass {
private var foo:String = 'bar';
private function test():void {
return this.foo;
}
public function MyClass() {
this.fooBar = this.test();
}
}
P.S.: синтаксис классов на JS точно не знаю какой, так как не писал ещё, поэтому пример из AS3.