С моей точки зрения, typescript имеет определенные плюсы по сравнению с чистым js:
1) Декларации типов играют роль документации. Про JS Doc можно забыть. И, в отличии от документации, сложнее получить расхождение.
2) Следствие из первого - тайпхинтинг в IDE, автоимпорты, лучше навигация по коду, проще рефакторинг.
3) Дополнительная защита от ошибок в рантайме
Но есть и минусы:
1) Больше временные затраты на написание кода (если мы хотим, чтобы все было нормально описано)
2) Больше порог входа
3) Периодически сталкиваешься с тем, что во внешних библиотеках декларации типов расходятся с реальностью
4) Функциональные библиотеки (lodash, ramda) сложно поддаются типизации с текущими возможностями TS. Хотя, вроде, есть улучшения на этой ниве - надо глянуть changelog.
Последние тенденции складываются так, что много проектов переписывают на TS или сразу на нем пишут: ant-design, mobx, appolo, loopback, vuejs 3 обещают на TS
Для бэка есть вполне адекватная TypeORM для работы с БД.
Можно генерировать типы TS из схемы GraphQL
Про NestJS тут уже писали.
Шанс, что он заменит JS, на мой взгляд, невелики. Вряд ли в движок JS в ближайшие годы перепилят настолько, чтобы в нем нативно уживались типы.
Судя по статистике The State Of JavaScript - рост стабильный и бросать этот язык никто не собирается
https://2018.stateofjs.com/javascript-flavors/type...