При выполнении const celsiusInput = document.getElementById('celsius')
вы получаете DOM-элемент , а не значение.Чтобы получить значение de, вам нужно проверить свойство value .
Так что в итоге вы получите что-то вроде этого:
const celsiusInput = document.getElementById("celsius")
const celsiusValue = celsiusInput.value
Сейчасесли мы сделаем typeof celsiusValue
, мы всегда получим string
, потому что текстовые / числовые входы всегда принимают текст (проверьте тип ввода свойство для получения дополнительной информации).
Правильный способ проверитьесли есть цифры или буквы, используется Регулярные выражения .
Я оставлю простой пример, который будет для вас отправной точкой:
const celsiusInput = document.getElementById("celsius")
const celsiusValue = celsiusInput.value
if(/\D/.test(celsiusValue)) {
alert("There is something that's not a number in the Celsius input!")
}