Для document.querySelector('input') TypeScript обычно выводит HTMLInputElement | null. Для произвольного CSS-селектора тип может быть Element | null.
Какой тип у элемента input в TypeScript, если вы получаете его через querySelector?
Для document.querySelector('input') TypeScript обычно выводит HTMLInputElement | null. Для произвольного CSS-селектора тип может быть Element | null.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для document.querySelector('input') TypeScript обычно выводит HTMLInputElement | null. Для произвольного CSS-селектора тип может быть Element | null.
Нужно проверить результат перед доступом к value. Например: const element = document.querySelector('#email'); if (element instanceof HTMLInputElement) console.log(element.value);. Generic querySelector<HTMLInputElement> задаёт ожидаемый тип, но не проверяет фактический тег во время выполнения; non-null assertion также не предотвращает null.