Выбор ответа Junior Ошибки обновлено

Какой код бросит ReferenceError

Вопрос

Какая строка бросит именно ReferenceError?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: notDeclaredAnywhere + 1. ReferenceError возникает при обращении к имени, которого нет ни в одной области видимости (или к let/const в TDZ). notDeclaredAnywhere не объявлена. undefined.length это TypeError: значение есть, но у него нельзя читать свойства.

Варианты ответа

  1. undefined.length + 1
  2. notDeclaredAnywhere + 1правильный ответ
  3. JSON.parse('{a: 1')
  4. new Array(-1).fill(0)

Разбор

ReferenceError возникает при обращении к имени, которого нет ни в одной области видимости (или к let/const в TDZ). notDeclaredAnywhere не объявлена. undefined.length это TypeError: значение есть, но у него нельзя читать свойства. Битый JSON даёт SyntaxError. Отрицательная длина массива даёт RangeError.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.

Термины по теме