#
Instanceof
Оператор instanceof в JavaScript используется для проверки, принадлежит ли объект определенному классу или является ли он экземпляром определенного типа. Также этот оператор позволяет определить, был ли объект создан с использованием конкретного конструктора.
Синтаксис: object instanceof constructor
object: Объект, который вы хотите проверить.constructor: Функция, которая представляет класс или тип.
#
Пример использования instanceof:
function Car(make, model) {
this.make = make;
this.model = model;
}
const myCar = new Car("Toyota", "Camry");
console.log(myCar instanceof Car); // Вывод: true
console.log(myCar instanceof Object); // Вывод: true
console.log(myCar instanceof Array); // Вывод: false
В данном примере myCar является экземпляром объекта Car, поэтому myCar instanceof Car возвращает true. Он также является экземпляром объекта Object, так как все объекты в JavaScript являются экземплярами Object. Однако, myCar instanceof Array возвращает false, потому что myCar не является массивом.
Когда вы используете instanceof, он проверяет цепочку прототипов объекта. Если объект является экземпляром класса (или конструктора), или его прототип является экземпляром этого класса, то оператор instanceof возвращает true, иначе - false.
Например:
function Animal() {}
function Dog() {}
Dog.prototype = new Animal();
const myDog = new Dog();
console.log(myDog instanceof Dog); // Вывод: true
console.log(myDog instanceof Animal); // Вывод: true
Здесь myDog является экземпляром Dog, но также является экземпляром Animal, так как Dog.prototype был установлен как экземпляр Animal.