Оператор instanceof используется для проверки, принадлежит ли объект данному типу. Например, при поимке исключения нужно обработать только исключение определенного типа.
В левой части оператора instanceof указывается проверяемый объект, а с правой - функция-конструктор для проверки.
1
vartheDay = newDate(2009, 11, 17);
2
if(theDay instanceofDate) {
3
alert("Объект класса Date")
4
// ...
5
}
Оператор instanceof учитывает наследование.
Следующий пример демонстрирует, что объекты String и Date принадлежат типу Object.
Пример: проверка унаследованных объектов
01
varmyString = newString()
02
varmyDate = newDate()
03
04
myString instanceofString // true
05
myString instanceofObjec // true
06
myString instanceofDate // false
07
08
myDate instanceofDate // true
09
myDate instanceofObject // true
10
myDate instanceofString // false
То же верно и для типов, объявленных пользователем.
Например, в следующем примере объект типа Honda также принадлежит Car и Object.