type="number" возвращает строку в JavaScriptВведите 5 в числовое поле, прочитайте input.value и прибавьте 1. Получится 51: свойство вернуло строку «5», а JavaScript склеил текст. Тип поля включает проверку значения, клавиатуру смартфона и кнопки со стрелками, но value остаётся строкой.
Для числа можно читать valueAsNumber. Пустое или некорректное значение даст NaN, то есть «не число», поэтому проверьте его через Number.isNaN. У Number(value) другая ловушка: пустая строка превращается в ноль. Для флажка используйте checked, если нужен ответ «отмечен или нет».
Повторите эти случаи в консоли и сравните результаты. В статье на сайте John Kavanagh также разобраны выпадающие списки, переключатели и FormData, который собирает поля формы перед отправкой.
