ES2015 ⊂ TypeScript
TypeScript включает в себя если не весь, то почти весь ES2015 + всякие типы, интерфейсы, абстрактные классы и так далее. Не обязательно пользоваться всеми этими фичами, хотя мне например проще написать немного лишнего кода (описать интерфейсы, объявить типы) и поймать часть ошибок на этапе компиляции, чем вылавливать их в рантайме.