Шрифт:
Примеры грубого определения типа, представленные выше, опираются на возможность сравнения объектов с помощью оператора
Можно подойти к определению типа либерально: просто предположить, что входные объекты реализуют все необходимые методы, и не выполнять никаких проверок. Если предположение окажется ошибочным, при попытке вызвать несуществующий метод возникнет ошибка. Другой подход заключается в реализации проверки входных объектов. Однако, вместо того чтобы проверять их принадлежность к определенному классу, можно проверить наличие методов с определенными именами. Это позволит отвергнуть входные объекты раньше и вернуть более информативное сообщение об ошибке.
В примере 9.5 определяется функция
Пример 9.5. Функция грубой проверки типа
Есть два важных момента, касающиеся функции
9.6. Приемы объектно-ориентированного программирования в JavaScript
До сих пор в этой главе мы рассматривали архитектурные основы классов в языке JavaScript: важную роль объектов-прототипов, связь классов с функциями-конструкторами, как действует оператор