Что плохого ты видишь в прототипном наследовании? Если ты говоришь в терминах ООП, то тебе не составит труда разобраться с ним. Если же ты новенький, то прототипно ориентированный язык ты будешь воспринимать несколько иначе. Ты не будешь думать о наследовании как таковом, ты будешь думать о построении иерархии определения контекста выполнения метода. Не думая, что ты пытаешься реализовать какое-то там наследование.
Кто сказщал, что я вижу в нем что-то плохое? Просто человеку, который первый день на чем-то программит выносить мозг цепочками прототипов и областями действия размером в функцию значит начисто забить себе голову чем-то, что неизбежно придется выбивать при знакомстве с классическим ООП в java или тех же решеточках. И будет для него легкий шок узнать, что существуют блочные области видимости, а так же объекты создаются и разрушаются совсем-пресовсем иначе. Оно надо на старте?
Как мне не хочется тебя огорчать тем, что в JS есть так же разные области видимости и даже есть отлаженые патерны работы с ними (см. revealing module pattern).
Так же я не могу понять в чем проблема изучения принципа работы прототипов?
Чем это сложнее например заботы об освобождении памяти в плюсах или например понимаия работы GC в C#\Java
Эй, алле, гараж! Вы еще не забыли, что речь идет о "изучить ради хобби"? Так-то и в субатомной физике никаких проблем нет - бери да изучай.
>> Как мне не хочется тебя огорчать тем, что в JS есть так же разные области видимости и даже есть отлаженые патерны работы с ними (см. revealing module pattern). Деление на модули это хорошо. Только это не нативные средства js, все реализовано все на тех же стандартных скоупах, так что огорчить не получилось.
Ты мне покажи лучше, где тут "разные области видимости" отличающиеся от тех, которые назвал я? =) Напомню, я сказал: "и областями действия размером в функцию" Ровно это я в твоем примере и вижу - все те же функции, все те же замыкания...
Тут главный вопрос - а нужно ли? :D Это ж замечательный способ выстрелить себе в ногу. А так да, можно и нужно, но возвращаясь к началу - новичка это все может смутить, а точнее его смутит отсутствие всего ЭТОГО в других языках. Не зря ж кофе так популярность набрал - хребтом чую не в последнюю очередь из-за стандартных до одури оберток new, public, и прочие вызовы родительского конструктора...