Разделение свойств работает так, посмотрите что не так, что норм Если пока норм то начну делать наследование. (То что МЕТА, то недоступно человеку, то что находится в МЕТА то имеет доступ ко всему что есть в мета.)
В паблик сущностей выводятся смешенные паблик статик и паблик не статик свойства. Иметь одинаковые имена паблик статик и паблик не статик не могут. При обьявлении класса, то что будет ниже то перезапишет то что было с одинаковым именем выше.
В Конструкторе есть 2 свойства private и public в них содержатся статические свойства сущностей чтобы можно было изменять их не только через сущностей а еще и через конструктор)
Так же сохраняется прототипная модель которая ни как не конфликтует с типовой)
Классовые свойства перекрывают прототипные с одинаковыми именами. Все как обычно. Прототипные методы правда не имеют доступ к внутренним свойствам сущностей относительно которых они вызываются (к тому что в META) но это ПОКА. Вообще я думаю сделать доступ или не сделать. Допустим я хочу создавать обьекты на основе какого-то прототипа. Я хочу чтобы методы этого обьекта прототипа вызванные относительно сущностей, ИМЕЛИ доступ к нутру этих сущностей. Правильно ли это бы было?
например
Cat.prototype.sayPrivateName = function(){
alert(this.privateName)
}
вызванное так
cat1.sayPrivateName ()
ИМЕЛО бы доступ к приватным этого cat1
правильно ли это?