JavaScript·100 питань

QUESTION: Що таке instanceof?

Відповідь

Оператор instanceof в JavaScript слугує для перевірки того, чи входить конкретний об'єкт до ланцюжка прототипів певного класу або функції-конструктора. Синтаксис використання гранично простий і виглядає як obj instanceof Class. Якщо в процесі пошуку ланцюжком прототипів об'єкта obj буде знайдено прототип, що відповідає властивості prototype перевірюваного класу Class, оператор поверне true, в іншому разі — false.

Цей механізм однаково ефективно працює як із сучасними класами, так і з традиційними функціями-конструкторами. Однак слід пам'ятати, що instanceof не призначений для перевірки примітивних типів даних, таких як рядки, числа чи логічні значення. Для примітивів традиційно використовується оператор typeof.

Мова JavaScript також надає можливість кастомізації поведінки оператора instanceof за допомогою спеціального вбудованого символу Symbol.hasInstance. Визначивши цей статичний метод усередині вашого класу, ви можете повністю перевизначити логіку перевірки, зробивши її нестандартною. Це дає розробникам змогу створювати гнучкі бібліотеки та фреймворки, де перевірка належності об'єктів до типів даних може керуватися програмно.

Чи корисна ця відповідь?

Інші питання цієї теми

Пов’язані питання з інших тем