TypeScript solía decir que "TypeScript es un superconjunto escrito de JavaScript".
Pero si ECMAScript agrega alguna sintaxis nueva, que está en conflicto con la sintaxis existente de TypeScript, la relación de 'superconjunto' entre TypeScript y JavaScript se romperá.
¿Pasará esto?
Por ejemplo: TypesScript tiene la sintaxis de Decoradores de parámetros, si ECMASript también agrega la sintaxis de Decoradores de parámetros en el futuro, pero la función decoradora tiene argumentos diferentes.
¿Pasará esto?
Nadie puede predecir el futuro, pero con respecto a los decoradores, tenga en cuenta esto en la documentación de decoradores de TypeScript:
NOTA: Los decoradores son una característica experimental que puede cambiar en versiones futuras.
De hecho, sabemos que los decoradores actuales de TypeScript no serán compatibles con los propios de JavaScript si/cuando estén finalizados: los decoradores de TypeScript se basan en una versión anterior de la propuesta que no logró obtener el consenso de TC39 y desde entonces se ha reelaborado ampliamente (en al menos dos veces). Pero TypeScript ya tiene la marca experimentalDecorators para manejar eso. Eventualmente, si no tiene ese indicador establecido pero usa la sintaxis de decoradores, usará la sintaxis de decoradores propia de JavaScript. Si tiene la bandera configurada, está utilizando la forma actual de decoradores de TypeScript.
Pero eso (u otros ejemplos de incompatibilidad menor¹) no significan necesariamente que el sentido del dicho "TypeScript es un superconjunto tipificado de JavaScript" sea incorrecto, solo que la imagen real es más complicada y matizada que ese concepto y objetivo general.
¹ No recuerdo el ejemplo específico, pero IIRC implica proporcionar argumentos de tipo explícitos al llamar a una función (¿o es la antigua forma de paréntesis angular de aserción de tipo?) en conflicto en algunos casos límite muy limitados con el operador menor que < .