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 |