Many people choose to use both. TypeScript for type-checking and stripping types, and Babel for compiling down ES2015 code. Babel follows the spec for that much closer than TypeScript does and has hundreds of plugins that allow you to do even more.