Оператор 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 Objec // 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
Это интересно
За месяц поисковая система Google может обработать более 100 миллиардов запросов (это почти 40 000 в секунду).