Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про JavaScript: instanceof, объекты, класс

Как проверить, является ли объект экземпляром определенного класса (функции-конструктора)?

Этот вопрос проверяет знание разработчика о том, как в JavaScript можно определить, был ли объект создан с помощью определенного конструктора или является потомком другого объекта через цепочку прототипов.

Короткий ответ

Для проверки, является ли объект экземпляром определенного класса или функции-конструктора, используется оператор instanceof. Он проверяет, есть ли в цепочке прототипов объекта ссылка на прототип конструктора.

Длинный ответ

Оператор instanceof в JavaScript позволяет проверить, был ли объект создан с помощью определенной функции-конструктора или унаследовал от нее через прототипы. Он работает по цепочке прототипов объекта, проверяя, есть ли у него в прототипах ссылка на прототип функции-конструктора.

Пример:

function Animal() {} 
function Dog() {} 

Dog.prototype = Object.create(Animal.prototype); 

const myDog = new Dog(); 
console.log(myDog instanceof Dog); // true 

console.log(myDog instanceof Animal); // true 
console.log(myDog instanceof Object); // true

Здесь объект myDog был создан через конструктор Dog, но благодаря наследованию от Animal, он также является экземпляром Animal. Оператор instanceof проходит по цепочке прототипов и проверяет, ссылаются ли они на соответствующий прототип.

Этот оператор полезен для определения типов объектов и работы с ними в зависимости от их происхождения.

Уровень

  • Рейтинг:

    3

  • Сложность:

    6

Навыки

  • JavaScript

    JavaScript

Ключевые слова

#instanceof

#объекты

#класс

Подпишись на React Developer в телеграм