Цитата:
|
Цитата:
http://javascript.ru/forum/misc/2740...html#post12189 |
мне показалось, что Pavel_Volodko скорее хочет классовое наследование как в статических языках?
|
Цитата:
Цитата:
|
Цитата:
|
Цитата:
Цитата:
P.S.>: да и... ты забыл Ruby еще ;) чик, "а там еще интересней Python'a и тоже - похоже на JS" |
Цитата:
При этом оговориться что он определяет только Начальный (т.е. при его создании) тип экземпляра. Включать в понятие несколько конструкторов или несколько прототипов не требуется, т.к. данный конструктор содержит вызовы родительских, а данный прототип из пары Конструктор-прототип - ссылку __proto__ на родительские прототипы , что однозначно определяет всю цепь наследования. Конечно возможны с помощью данного конструктора создание экземпляров с разным набором свойств в зависимости от заданных конструктору параметров , но тем не менее - другого начального создателя у экземпляра НЕТ. Q: Как использовать instanseof , если в текущий момент экземпляр уже на 100 км отличается от того, что использовался при его создании ? A: Так же как и если бы он не отличался. Т.е., imho ,это вопрос вообще говоря о том, как вобще использовать instanceof в классическом ООП. |
Цитата:
Цитата:
|
[code=Zeroglif]Можно определить, никто не мешает тому, как именно держать это в уме.[/code]
Так я же попытался не в уме , а на бумаге это определить. Цитата:
Имеются тождества : {n:"132" }.constructor===Object ; {}.constructor===Object ; function(){}.constructor===Function ; Т.е. не будет в цепи наследования анонимных конструкторов . Докажите, плз, если, где я ошибаюсь. Впрочем, есть и такой вариант : var s=new function(){this.n="132" ; } ; s.constructor!==Function Но все равно и здесь не направить, свойство __proto__ на предка. Вот. Но это одно. А второе - если основывать приложения на простом правиле - не делать в цепи наследования анонимных конструкторов, то вопрос снимается . Для ненаследуемого же экземпляра , созданого анонимным конструктором всегда можно говорить , что это экземпляр типа(класса) и далее приводить литеральное описание класса, который использовался для создания. Что конечно многословно, но для устранения многословнояти при описании можно пользоваться придумаными именами для обозначения этого класса . |
ну это все детали, на самом деле
меня вот, например, интересует, зачем использовать классическое наследование в js. Пока я вижу одну причину: так привычнее людям, пришедшим с других языков |
Часовой пояс GMT +3, время: 18:46. |