Нет. Не обязательно. После того, как пришел ES6+ и стала популярной нормальная сборка с линтерами и тестами, количество изюминок в TypeScript заметно поубавилось, и в наше время его использование стало вопросом религии (нужна более строгая типизация или нет) и личных предпочтений. Учите чистый JS, а если вам в какой-то момент покажется, что TypeScript вам нужен или попадете в команду, где его используют - за пару дней разберетесь.
При наличии большой базы кода
Когда база кода огромна, и более одного человека работает над проектом, система типов может помочь избежать многих распространенных ошибок. Это особенно актуально для одностраничных приложений.
Когда разработчики вашей команды уже привыкли к статически типизированным языкам Typescript может служить заменой Babel Когда библиотека или фреймворк рекомендуют Typescript Когда вы действительно чувствуете потребность в скорости
if(typeof name !== ‘string) throw ‘Name should be string’
С помощью Typescript мы можем устранить многие из этих типов проверок все вместе.