при выполнении кода?
я думал типизация всегда абстрактная и существует только пока код не собрался в asm
Ну для примера. В ts я описываю функцию, которая принимает один параметр, и указываю, что это будет number. И вызываю эту функцию, прокидывая туда строку или объект. Если на этапе компиляции ничего не сломалось - функция "съест" и строку и объект и не выдаст ошибок на этом этапе.
В Джаве будет выброшена ошибка, что мы ожидали номер, а ты суёшь не то.