instanceof
Синтаксис
var isInstance = object instanceof ObjectType |
Аргументы
- object
- Объект
- ObjectType
- Конструктор(тип) для сравнения
Описание, примеры
Оператор instanceof используется для проверки, принадлежит ли объект данному типу. Например, при поимке исключения нужно обработать только исключение определенного типа.
В левой части оператора instanceof указывается проверяемый объект, а с правой - функция-конструктор для проверки.
1 | var theDay = new Date(2009, 11, 17); |
2 | if (theDay instanceof Date) { |
3 | alert("Объект класса Date") |
Оператор instanceof учитывает наследование.
Следующий пример демонстрирует, что объекты String и Date принадлежат типу Object.
Пример: проверка унаследованных объектов
01 | var myString = new String() |
02 | var myDate = new Date() |
04 | myString instanceof String |
05 | myString instanceof Objec |
06 | myString instanceof Date |
09 | myDate instanceof Object |
10 | myDate instanceof String |
То же верно и для типов, объявленных пользователем.
Например, в следующем примере объект типа Honda также принадлежит Car и Object.
04 | function Honda(model) { |
08 | Honda.prototype = new Car() |
10 | honda = new Honda("Accord") |
14 | honda instanceof Object |