Шрифт:
Возможность подобного расширения классов, определяемых средой выполнения (такой как веб-броузер), зависит от реализации самой среды. Во многих веб-броузерах, например, допускается добавлять методы в
9.5. Классы и типы
В главе 3 уже говорилось, что в языке JavaScript определяется небольшое количество типов:
В следующих подразделах описываются три приема определения класса произвольного объекта: оператор
9.5.1. Оператор instanceof
Оператор
Как отмечалось выше в этой главе, конструкторы выступают в качестве наружной вывески классов, а фундаментальная идентификация классов проводится прототипами. Несмотря на то что в операторе
Если необходимо проверить, входит ли некоторый определенный прототип в цепочку прототипов объекта без использования функции-конструктора, как промежуточного звена, можно воспользоваться методом
Один из недостатков оператора
9.5.2. Свойство constructor
Другой способ определения класса объекта заключается в использовании свойства constructor. Поскольку конструкторы считаются именами классов, определение класса выполняется очень просто. Например: