Во первых, ts - строготипизированный, во вторых ts все равно компилируя в js, он нужен лишь во время разработки, для удобства, то есть можно было все понимать легче, то есть типы данных там есть - там из трое string/number/Boolean, есть всякие namespace - как шаблоны по сути, enumы, выходные параметры из функций void(переводится как пустота, это нужно писать в конце функции, обозначая что функция ничего не возвращает), и never, если функция что-то возвращается, данные типа дженерика и тд, но многое просто существует в ts, и не компилится потом в js, потому что как я сказал ts нужен для самоконтроля кода, только лишь во время разработки.