Все дело в том. что в инпут всегда помещается строка. Всегда!
А если тебе надо в результате сложения числе 2+2 получить 4, а не 22, то ты тогда и переводишь строку в начале в числа, а уже затем складываешь.
Тайпы это просто способ проверить, что там за данные. В хорошем редакторе кода, к примеру в ВсКод сразу показывается что там за тип данных, по этому для меня эта проверка вообще бесполезная.
Но по сути можно использовать проверку типов в самом коде, когда создаешь условия.