Оператор instanceof используется для проверки, принадлежит ли объект определенному классу или типу данных. Он возвращает логическое значение true, если объект является экземпляром указанного класса или наследует от него, и false в противном случае.
Синтаксис оператора instanceof выглядит следующим образом:
object instanceof classЗдесь object - это объект, который мы хотим проверить, а class - это класс или функция-конструктор, с которым мы хотим сравнить объект.
Оператор instanceof работает путем проверки цепочки прототипного наследования объекта. Если цепочка прототипного наследования объекта включает указанный класс или функцию-конструктор, то оператор instanceof возвращает true. В противном случае он возвращает false.
Вот пример использования оператора instanceof:
class Person {
constructor(firstName, lastName) {
this.firstName = firstName
this.lastName = lastName
}
}
const person = new Person("John", "Doe")
console.log(person instanceof Person) // true
console.log(person instanceof Object) // true
console.log(person instanceof Array) // falseВ этом примере мы создаем класс Person и объект person на его основе. Затем мы используем оператор instanceof, чтобы проверить, является ли объект person экземпляром класса Person. Мы также проверяем, является ли объект person экземпляром класса Object (все объекты в JavaScript наследуют от класса Object), а также класса Array.
Оператор instanceof может быть полезен для определения типа объекта в условных выражениях или при проверке наследования при работе с наследованием и полиморфизмом в объектно-ориентированном программировании в JavaScript.