Сообщение от Zeroglif
|
Отсюда 2 вывода - то ли вам важны локальные переменные ($className), то ли вам не нравится "обвешивать" объект-прототип руками или через for-in...
|
Локальные переменные не важны. Это просто одна из возможностей.
А вот "обвешивать" объект мне не нравится - это точно.
Сообщение от Zeroglif
|
instanceof не оправдывает своего названия буквально и является терминологической натяжкой из чужого class-based мира, в js объекты наследуют от объектов, понятия "класс" не просто нет, а если бы оно даже и было, то мы бы столкнулись с задачей определения, что включить в этот термин - прототип или прототипы, конструктор или конструкторы, или всё вместе, что участвовало в создании цепочки или её составляет, при этом, если цепь прототипов после содания хе-хе "instance" можно считать стабильной и связанной с ним, то свойству 'prototype' конструкторов можно присваивать другие значения, что делает алгоритм instanceof в этом случае бесполезным.
|
Тут не соглашусь.
instanceof работает как ему положено. Вопрос в том, правильно ли мы его используем. Понятно, что в javascript-е можно перехерачить любой объект до неузнаваемости, но в таком случае, его никто и не узнает
Если архитектура приложения правильная, то иерархия наследования не может быть не стабильной. Если цепочка где-то ломается - плохая архитектура.
Язык дает программисту полную свободу, но не стоит ей злоупотреблять.