В чём разница между операторами typeof и instanceof?
Уровень: Middle
Ответ
`typeof` применяется к значению и возвращает строку с названием его типа (\"string\", \"number\", \"boolean\", \"undefined\", \"object\", \"function\" или \"symbol\", \"bigint\"). Он полезен для примитивов и функций. `instanceof` же проверяет принадлежность объекта к классу/конструктору: выражение `obj instanceof Constructor` вернёт true, если в цепочке прототипов объекта obj есть Constructor.prototype. Например, `arr instanceof Array` проверит, является ли arr массивом. `instanceof` работает только с объектами (для примитивов не имеет смысла) и учитывает наследование. Таким образом, typeof удобен для определения примитивных типов, а instanceof – для проверки типа объекта по его прототипу.