Я здесь категорически не согласен. Ненавижу, НЕНАВИЖУ печатные языки. По крайней мере, в прошлом. После использования TypeScript некоторое время я полюбил типизацию и стал лучше понимать преимущества перед слабо типизированными языками.

Большое преимущество, которое, по общему признанию, требует, чтобы среда, которую вы использовали, интенсивно использовала интерфейсы, - это ошибки времени компиляции во время обновлений библиотеки / инфраструктуры. Вам больше не нужно проводить действительно глубокое регрессионное тестирование, чтобы убедиться, что какой-то непонятный API не изменился и что-то сломал во время выполнения. Вместо этого, когда вы пытаетесь собрать проект в стадии разработки, он выдаст ошибки и сообщит вам, что именно не реализовано правильно. Я почти уверен, что именно поэтому Angular использует TypeScript, и они пользуются моей поддержкой до тех пор, пока они это делают.