Выбор ответа Junior Формы обновлено
Тип значения числового поля
Вопрос
Пользователь ввёл 5 в поле. Что покажет alert?
<input type="number" onChange={(e) => alert(e.target.value === 5)} />
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: false: e.target.value всегда строка, здесь "5". Свойство value у DOM-элемента input всегда строка, независимо от type.
Варианты ответа
true, потому что уtype="number"значение числоfalse:e.target.valueвсегда строка, здесь"5"правильный ответtrue, потому что React приводит типы через==- Ничего:
onChangeу числового поля не срабатывает
Разбор
Свойство value у DOM-элемента input всегда строка, независимо от type. Строгое сравнение "5" === 5 даёт false. Число берут через Number(e.target.value) или e.target.valueAsNumber (для пустого поля он вернёт NaN).
type="number"влияет на клавиатуру и валидацию, но не на типvalue.- React не меняет оператор сравнения.
onChangeу числового поля работает как у любого другого.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.
Предыдущий вопрос
Что происходит с полями после action
Следующий вопрос
Когда срабатывает onChange в React