Интересуюсь для общего развития.
Каким образом реализуется статическая типизация в Typescript?
Или потом все эти типы все равно становятся var, а сделано это для удобства чтения?
В typescript статическая типизация есть только на уровне компилятора. Если вы где-то ошиблись, то компилятор вывалит вам ошибку. Если ошибки не будет, то компилятор выдаст вам обычный js-код с var-ами.