Справочник javascript: instanceof

Описание, примеры

Оператор instanceof используется для проверки, принадлежит ли объект данному типу. Например, при поимке исключения нужно обработать только исключение определенного типа.

В левой части оператора instanceof указывается проверяемый объект, а с правой - функция-конструктор для проверки.

var theDay = new Date(2009, 11, 17);
if (theDay instanceof Date) {
  alert("Объект класса Date")
  // ...
}

Оператор instanceof учитывает наследование.

Следующий пример демонстрирует, что объекты String и Date принадлежат типу Object.

Пример: проверка унаследованных объектов

var myString = new String()
var myDate = new Date()

myString instanceof String  // true
myString instanceof Object // true
myString instanceof Date   // false

myDate instanceof Date     // true
myDate instanceof Object   // true
myDate instanceof String   // false

То же верно и для типов, объявленных пользователем.

Например, в следующем примере объект типа Honda также принадлежит Car и Object.

function Car(model) {
  this.model = model
}
function Honda(model) {
  this.model = model
  this.isHonda = true
}
Honda.prototype = new Car()

honda = new Honda("Accord")

honda instanceof Honda // true
honda instanceof Car // **true**
honda instanceof Object // true

honda instanceof Date // false