TypeScript
Programing Language
TypeScript is a programming language that is considered a "superset" of JavaScript, adding static typing to JavaScript applications and therefore allowing stricter maintenance of JavaScript variables, the assigning of those variables and its format once consumed by any API.
TypeScript is often used in conjunction with both Angular 1.6 and Angular 2 and up.
Background
As a Full Stack Java Developer, I often appreciate the static typing of TypeScript and how this static typing helps JavaScript developers understand how data is actually consumed on the back end, once they send data to the application's web services.
If even in a shallow sense, it's good for JavaScript developers to extend their knowledge of classes past what they may use on a daily basis in ES6 ECMAScript. Being able to utilize constructors inside of JavaScript objects, understand the assignment of values to classes and how that data is manipulated further down the line makes for a stronger synergy between front end and back end developers within an Agile enterprise environment.
Summary
Most of my core experience with TypeScript is in creating Angular 2 applications. TypeScript files are used as the construct behind Angular components to annotate Components and bind styles and scripts to components, which allow them to function in a modular fashion, much like directives in AngularJS.
Although it's good to keep in practice with vanilla ES6-based JavaScript, many teams find themselves streamlined and efficient with a team that has a strong understanding of Angular, TypeScript, Webpack and Node.js.
I also gained experience working with Angular 1.6 and TypeScript to mimick a component-based environment while working on an application for ACT.