Оператор 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.


Назад