Выбор ответа Middle tsconfig и декларации обновлено

noUncheckedIndexedAccess

Вопрос

С флагом noUncheckedIndexedAccess какой тип у first?

const arr: string[] = [];
const first = arr[0];

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

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

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

Коротко

Правильный ответ: string undefined. Без флага доступ по индексу к массиву или словарю считается всегда успешным, и arr[0] имеет тип string, хотя массив может быть пустым.

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

  1. string | null
  2. unknown
  3. string
  4. string | undefinedправильный ответ

Разбор

Без флага доступ по индексу к массиву или словарю считается всегда успешным, и arr[0] имеет тип string, хотя массив может быть пустым. Флаг добавляет undefined к результату такого доступа, и перед использованием значение придётся проверить.

null при выходе за границы массива не бывает, unknown флаг не делает.

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

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

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