ACTUALIZAR:
Desde que escribí esta respuesta el año pasado, ha habido una serie de cambios. Tanto para transpilers como para el marco angular. Si bien todavía es posible escribir aplicaciones Angular utilizando JavaScript de vainilla o Babel, el marco Angular se ha apartado de los estándares web de manera dramática.
Los flujos de trabajo predeterminados de la estructura ahora implican un proceso conocido como compilación anticipada (AOT). Bajo AOT ya no está escribiendo JavaScript ni TypeScript, sino más bien en un dialecto no estándar incompatible de este último que funciona específicamente con el marco angular. Tiene una semántica diferente de TypeScript, por lo que ya no es un superconjunto de JavaScript.
Por este motivo te recomiendo que evites desarrollar aplicaciones utilizando Angular.
También quiero señalar que desde que escribí esta respuesta, TypeScript ahora ha implementado la reducción de las funciones ‘asíncronas’ (así como otras características del ES2015) a ES5.1 y ES3 casi en la misma medida que Babel. Esto significa que ya no es necesario usar Babel en una tubería con TypeScript para acceder a estas funciones cuando se dirigen a tiempos de ejecución anteriores. Todavía hay casos de uso que combinan los dos transpilers pero están disminuidos.
ACTUALIZACIÓN FINAL
La respuesta corta es un no definitivo.
La respuesta larga realmente significa alimento para el pensamiento.
Si lees la documentación en Angular 2, notarás que ofrecen ejemplos en 3 idiomas: TypeScript, JavaScript y Dart.
Dado que TypeScript es un superconjunto de JavaScript y que no proporciona ningún comportamiento de tiempo de ejecución adicional, puede, por definición, escribir aplicaciones de Angular 2 en JavaScript.
La pregunta que debe responder es en realidad una pregunta de flujo de trabajo / cadena de herramientas.
¿Planea usar un transpiler (palabra pretenciosa para compilador)? Es decir, ¿en qué versión de JavaScript planea escribir? ¿ECMAScript 5.1 (la versión que ha estado disponible de forma nativa en la mayoría de los navegadores), o ECMAScript 6 (la versión recientemente estandarizada que ningún navegador soporta completamente y no será viable de implementar directamente durante al menos 4 años)?
Si respondes que no, sospecho que será más difícil encontrar tutoriales y documentación para Angular 2, pero puedes seguir utilizando la versión de JavaScript (ES5.1) con la que ya estás familiarizado y puedes desarrollar e implementar con mucho menos. Cadena de herramientas complejas que si respondieras que sí.
Si responde que sí, tendrá que utilizar una cadena de herramientas bastante compleja independientemente.
Hay varias opciones (TypeScript, Babel, y otras).
Cualquiera de estos te dará acceso a funciones como decoradores y clases que Angular 2 usa mucho.
Tengo experiencia con TypeScript y Babel, y aunque ambos son excepcionales, prefiero TypeScript debido a su fiabilidad y al soporte de herramientas que facilita.
TypeScript es un excelente transpiler que genera JavaScript confiable y legible, y está diseñado y mantenido por algunos de los mejores diseñadores de lenguajes de programación.
Microsoft toma TypeScript muy seriamente como un producto, mucho más en serio que Google toma Angular por lo que vale.
Sin embargo, no tienes que elegir. Puede usar Babel para algunos módulos de su aplicación y TypeScript para otros. Incluso puede mezclarlos en diferentes etapas de la recopilación, lo que le brinda acceso a una unión de las funciones de idioma admitidas. Por ejemplo, tanto TypeScript como Babel proporcionan funciones asíncronas pero con diferentes ventajas / desventajas en sus respectivas implementaciones. TypeScript le brinda excelentes herramientas, entendiendo el flujo de tipos de promesa en valores resueltos incluso con cadenas asíncronas arbitrariamente profundas, lo que le permite a su IDE mostrar la información de tipo correcta y advertir sobre el uso incorrecto. Sin embargo, TypeScript no compila esto en EcmaScript 5.1, lo que lo hace inutilizable en la mayoría de los navegadores. Babel, por otro lado, compila asíncrono a objetivos de bajo nivel. Puedes combinarlos y obtener ambas ventajas.