Выбор ответа Middle Ошибки и логирование обновлено
name у наследника Error
Вопрос
Что выведет код?
class NotFoundError extends Error {}
const e = new NotFoundError('User 7');
console.log(e.name, e instanceof Error);
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: Error true. Свойство name наследуется с Error.prototype и равно "Error", если не переопределить его в классе.
Варианты ответа
NotFoundError trueNotFoundError falseError trueправильный ответError false
Разбор
Свойство name наследуется с Error.prototype и равно "Error", если не переопределить его в классе. Поэтому в конструкторе пишут this.name = "NotFoundError". При этом instanceof Error истинно: это наследник.
- Имя класса автоматически в
nameне попадает. instanceofложным быть не может, класс расширяетError.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.